Integer 类型数据比较相等的那些坑
2017-06-23 16:11
260 查看
public void testInter() { Integer a = new Integer(200); Integer b = new Integer(200); Integer c = 200; Integer e = 200; int d = 200; Object o=200; System.out.println("基本类型和数字常量 ==判断"+(o==c)); System.out.println("基本类型和数字常量 equal判断"+c.equals(o)); System.out.println("两个new出来的对象 ==判断" + (a == b)); System.out.println("两个new出来的对象 equal判断" + a.equals(b)); System.out.println("new出的对象和用int赋值的Integer ==判断" + (a == c)); System.out.println("new出的对象和用int赋值的Integer equal判断" + (a.equals(c))); System.out.println("两个用int赋值的Integer ==判断" + (c == e)); System.out.println("两个用int赋值的Integer equal判断" + (c.equals(e))); System.out.println("基本类型和new出的对象 ==判断" + (d == a)); System.out.println("基本类型和new出的对象 equal判断" + (a.equals(d))); System.out.println("基本类型和自动装箱的对象 ==判断" + (d == c)); System.out.println("基本类型和自动装箱的对象 equal判断" + (c.equals(d))); }
//Java代码执行结果
基本类型和数字常量 ==判断false 基本类型和数字常量 equal判断true 两个new出来的对象 ==判断false 两个new出来的对象 equal判断true new出的对象和用int赋值的Integer ==判断false new出的对象和用int赋值的Integer equal判断true 两个用int赋值的Integer ==判断false 两个用int赋值的Integer equal判断true 基本类型和new出的对象 ==判断true 基本类型和new出的对象 equal判断true 基本类型和自动装箱的对象 ==判断true 基本类型和自动装箱的对象 equal判断true
综上代码测试后发现无论什么比较,Integer类型的数据最好用equals方法进行比较
相关文章推荐
- 常见的object-c的数据类型有那些, 和C的基本数据类型有什么区别?如:NSInteger和int
- Integer类型数据相等问题
- 基本数据类型、引用数据类型相互之间的比较规范(相等运算符的使用)
- 深入理解C++浮点数(float、double)类型数据比较、相等判断
- PHP两个字符串比较(人为出错),两字符串类型和数据表面相等,但strcmp()结果不为0
- integer 类型比较相等
- Java之Integer与int类型数据的比较-yellowcong
- java中包装数据类型与基本数据类型比较相等的问题
- Java为什么两个值相等的对象==比较返回false而两个值相等的不同类型的的基本数据类型返回true
- 深入理解C++浮点数(float、double)类型数据比较、相等判断
- Java中的Integer和int等包装类和基本数据类型简单比较
- Integer类型的数据比较大小
- Integer类型数据相等问题
- 深入理解C++浮点数(float、double)类型数据比较、相等判断
- 深入理解C++浮点数(float、double)类型数据比较、相等判断
- Integer类型数据比较大小问题:(Integer定义的是对象,养成使用equals方法的好习惯)
- 内存级分析,基本数据类型,引用数据类型 比较是否相等
- java中两个Integer类型的值,比较是否相等
- 深入理解C++浮点数(float、double)类型数据比较、相等判断
- 深入理解C++浮点数(float、double)类型数据比较、相等判断