您的位置:首页 > 编程语言 > Java开发

Java中int与Integer、Long与long有什么区别?

2017-03-06 19:27 357 查看
今天在写代码时,突然测试方法疯狂报错,仔细检查了code几遍,确认无红线 = =!

既然代码书写没有错误,那为什么报关于long类型的错误?

无奈之下,把DO、Info、Order 再次详细对照了一次,总算发现问题所在。

因为项目中用到了Info整体赋值于DO中,而手贱误操作把DO中某属性定义成了Long!!

那么Long与long究竟有什么区别呢?

无外乎,int与Integer!

我们知道Java的数据类型分两种:

1.基本类型:long,int,byte,float,double,char …

2.对象类型(类): Long,Integer,Byte,Float,Double,Char,String … 其它一切java提供的,或者你自己创建的类。

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

long、int是原始数据类型,没有属性方法,只能进行数学运算,Long是long及Integer时int相对应的引用数据类型,它有方法和属性。

一个没方法属性,一个有方法属性,这就是它们的区别。

关于更深的理解,大家需要自己去更深层的学习了,如果是使用迷惑,按照我的理解:

关键看你认为这个属性不能为null,若需要设置为null,即使用Long,如若无需,便使用long。(基本数据类型无法存null)

例如:我有一个字段—有效状态

我打算用 0 标识无效 , 1 标识 有效,非0即1,那我自然使用int便可。

如果我想在此基础上,体现出为空值的状态,那便选用Integer。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java