java String类中的一道简单题

来源:互联网 发布:辐射4美女捏脸数据教程 编辑:程序博客网 时间:2024/05/22 11:55
String str1="Hello";String str2="Hello";String str3=new String("Hello");String str4=new String("Hello");System.out.println("str1=str2?"+(str1==str2));System.out.println("str2==str3?"+(str2==str3));System.out.println("str3==str4?"+(str3==str4));System.out.println("str2.equals(str3)?"+(str2.equals(str3)));System.out.println("str3.equals(str4)?"+(str3.equals(str4)));


equals();是判断str2和str3的内存地址的相同性,但从图来看他们的内存地址完全不一样,所以我们就去看看string类它的源代码:

在源代码中我们发现String类的源代码是重写啦equals()方法的。所以得到的结果是true

0 0