当前位置: 代码迷 >> Web前端 >> java Integer 比较的有关问题
  详细解决方案

java Integer 比较的有关问题

热度:772   发布时间:2013-01-23 10:44:49.0
java Integer 比较的问题
习惯上把Integer和int类型混为一谈

所以习惯的把
Integer 的a 和 Integer 的b使用==进行了比较,结果两个值不相等

System.out.println(a == b);//打印false


老是忘记在给Integer包装类赋值的时候,他是调用public static Integer valueOf(int i)这个方法的,而这个方法里有一个判断,当值在-128<=i<=127范围的时候,是直接用的int赋值的,如果不在这个范围的话就会new一个对象

知道原因了,就好解决了,办法有几个

System.out.println(a.intValue() == b.intValue());
System.out.println(String.valueOf(a.equals(b)));
int a1 = a,b1 = b;
System.out.println(a == b);


黑色头发:http://heisetoufa.iteye.com/
  相关解决方案