今天在写代码时,突然测试方法疯狂报错,仔细检查了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。
新闻热点
疑难解答