Java中long和Long有什么区别

 我来答
很尴尬的萨嘎bC
推荐于2018-04-21 · TA获得超过944个赞
知道大有可为答主
回答量:881
采纳率:0%
帮助的人:787万
展开全部
long是基本类型,Long是对象类型;Long又叫 long的包装类,
你的代码中,用到了泛型,关于泛型的规定:
1、泛型的类型参数只能是类类型(包括自定义类),不能是简单类型。
2、同一种泛型可以对应多个版本(因为参数类型是不确定的),不同版本的泛型类实例是不兼容的。
3、泛型的类型参数可以有多个。
4、泛型的参数类型可以使用extends语句,例如<T extends superclass>。习惯上称为“有界类型”。
5、泛型的参数类型还可以是通配符类型。例如Class<?> classType = Class.forName(java.lang.String);
请看第一条关于泛型的要求,其参数必须是类类型的,意味着,LinkedHashMap<Object,Long> cache=new LinkedHashMap<Object,Long>();中的参数类型,必须采用表示类类型的Long.

请采纳!!
305661006
2016-07-21 · TA获得超过183个赞
知道小有建树答主
回答量:151
采纳率:0%
帮助的人:142万
展开全部
基本类型和封装类的区别。8个基本类型都有对应的封装类。
long是基本类型,Long是long的封装类,所以Long是Object类型。
long有默认值0,Object默认为null。而且Long中封装了一些方法方便对long的操作。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sumunri苏木
2017-10-26 · TA获得超过4862个赞
知道小有建树答主
回答量:1552
采纳率:68%
帮助的人:480万
展开全部
Java中数据类型分两种:

1.基本类型:long,int,byte,float,double
2.对象类型:Long,Integer,Byte,Float,Double其它一切java提供的,或者你自己创建的类。

其中Long叫 long的包装类。Integer、Byte和Float也类似,一般包装类的名字首写是数值名的大写开头。

什么是包装类?

在java中有时候的运算必须是两个类对象之间进行的,不充许对象与数字之间进行运算。所以需要有一个对象,这个对象把数字进行了一下包装,这样这个对象就可以和另一个对象进行运算了。
这个Long 就是一个包装类,它包装了一个整数值,然后可以在里面写一些运算符重载的方法使它支持某些运算。这个时候可以赋值:
Long l = new Long(10);
现在变量 l 就是一个对象,不是一个数字。

long是原始数据类型,没有属性方法,只能进行数学运算,Long是long相对应的引用数据类型,它有方法和属性,一个没方法属性,一个有方法属性,这就是它们的区别。
Long定义的变量为一个Long类型的对象;而long定义的变量为一个长整形数值的数值变量。
ID用long还是Long?

hibernate、el表达式等都是包装类型,用Long类型可以减少装箱/拆箱;
在hibernate中的自增的hid在实体中的类型要用Long 来定义而不是long。否则在DWR的匹配过程中会出现Marshallingerror:null的错误提示。

到底是选择Long 还是long这个还得看具体环境,如果你认为这个属性不能为null,那么就用long,因为它默认初值为0,如果这个字段可以为null,那么就应该选择Long。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一颗程序猿o_0
2016-07-21 · TA获得超过6298个赞
知道大有可为答主
回答量:5403
采纳率:77%
帮助的人:1352万
展开全部
一样 就是个别名而已,他最终还是会翻译成 Long
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式