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

Java基础之基本数据类型容易忽略的问题

2018-03-16 00:00 288 查看
1.Integer与Long对象初始化

Integer a = 100,b = 100;
Integer a1 = 128,b1 = 128;
System.out.println(a==b);
System.out.println(a1==b1);
Long m = 100L,n = 100L;
Long m1 = 128L,n1 = 128L;
System.out.println(m==n);
System.out.println(m1==n1);
执行结果:
true
false
true
false

解释说明:

装箱的本质是什么呢?当我们给一个Integer(Long)对象赋一个int(long)值的时候,会调用Integer类的静态方法valueOf,如果整型字面量的值在-128到127之间,那么不会new新的Integer对象,而是直接引用常量池中的Integer对象

参考源码:





2.自动类型转换

低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double
long l = 128L;

float f = l; //long可以自动转成float

应用:switch(expr),expr可以是byte,short,char,int,还可以是枚举
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java
相关文章推荐