java基本对象Integer,String比较相等及equal案例说明
2014-01-14 19:54
246 查看
Integer i = new Integer(100); Integer i2 = new Integer(100); if(i == i2){ System.out.println("AAAAAAAAAA"); } if(i.intValue() == i2.intValue()){ System.out.println("BBBBBBBBBB"); } String i3 = "100"; String i4 = "100"; if(i3.equals(i.toString())){ System.out.println("CCCCCCCCCC"); } if(i3 == i.toString()){ System.out.println("DDDDDDDDDD"); } if(i3 == i4){ System.out.println("EEEEEEEEEE"); } String i5 = new String("100"); String i6 = new String("100"); if(i5 == i6){ System.out.println("FFFFFFFFFF"); }
以上输出结果为:
BBBBBBBBBB
CCCCCCCCCC
EEEEEEEEEEE
String 的equals 方法用于比较两个字符串是否相等。由于字符串是对象类型,所以不能用简单的“==”判断。而使用equals比较两个对象的内容是否相等。
注意:
equals()比较的是对象的内容(区分字母的大小写格式),但是如果使用“==”比较两个对象时,比较的是两个对象的内存地址,所以不相等。即使它们内容相等,但是不同对象的内存地址也是不相同的。
输出EEE的原因:
如果是字符串常量的话...用“==”并不影响结果的。
因为在java中有个常量池,所有的字符串常量都在一起。任意多个相同的字符串,在内存中只会有一个实体。所有你用equal或==,结果都是一样的,他们是一一对应关系。。!
相关文章推荐
- java常见面试题之Integer,String比较相等及equal案例
- java基本数据类型,String、Integer等类型,Class三种对象引用的箭头,即箭头是怎么指的?
- java基础之Integer和Long对象相等比较 .
- java基础之Integer和Long对象相等比较 .
- java基础之Integer和Long对象相等比较
- java中string对象的”equal“方法和“==”运算符 与 c#中的比较
- java中Integer,String判断相等与integer的比较大小
- Java为什么两个值相等的对象==比较返回false而两个值相等的不同类型的的基本数据类型返回true
- Java常用类:Data()的用法,获得当前日期和时间对象date 定义对象Date date1 = new Date(36000000);获得包含的日期和时间 比较date和date1是否相等
- Java基础知识强化之集合框架笔记55:Map集合之HashMap集合(HashMap<Integer,String>)的案例
- java String对象比较之equals和==的区别
- 比较任意两个JSON串是否相等(比较对象是否相等)JAVA版
- Java学习--基本数据类型对象Integer的新特性
- java比较自定义对象相等的方法
- Integer陷阱(0~127和其他 数值相等对象比较)
- java编写比较对象相等equals方法
- JAVA中String对象的比较
- c\c++中比较两个字符串或string对象是否相等
- Java面试题 两个String如何比较是否相等的
- 关于Integer对象比较,和int基本类型比较的一些问题