- 对于基本数据类型(byte,short,char,int,float,double,long,boolean)来说,只有 ==,判断值是否相等(他们的值都放在了常量池中)
- 对于基本数据的包装类型(Byte, Short, Character,Integer,Float, Double,Long, Boolean)除了Float和Double之外,equals比较的是值,而 == 比较是地址值,需要注意 -128-127的问题
- 字符串
3.1: == 问题
String str = “123”; String str02 = “123”;这种方式声明的字符串, == 判断是true.因为地址都指向常量池
String str = new String(“123”); String str02 = new String(“123”); == 是 false;因为地址指向的是堆内存地址
3,2: equals 问题
上面两种方式都是true, 因为比较的是字符串的值
java == equals
最新推荐文章于 2023-08-04 14:41:23 发布