字符串比较
==比较:==比较两个基本数据类型时,比较的是数据的值。比较引用数据类型或对象时,比较的是堆内存地址。
equals()比较:Objecte类中的quals()方法比较的是数据的堆内存地址,String类中的quals()方法比较的是数据的值,因为String类覆盖了父类Objecte中的quals()。
示例代码:
String str1 = "abc";
String str3 = "abc"
String str2 = new String ("abc");
str1==str2 //false,==比较的是堆内存地址,new表示在堆内存中新申请一个内存地址。
str1.equals(str2); //true,String类中的quals()方法比较的是数据的值,两个字符串对象存储的都在"abc"。
str1==str3//true,String str3 = "abc",没用使用new新申请一个内存地址,str3指向的之前创建的"abc"的堆内存地址。
|