阅读下面的Java代码,写出打印语句(1)、(2)、(3)的输出结果,并解释原因。

阅读下面的Java代码,写出打印语句(1)、(2)、(3)的输出结果,并解释原因。
String str1 = new String("wangke");
String str2 = new String("wangke");
System.out.println(str1 == str2); // (1)
System.out.println(str1.equals(str2)); // (2)
System.out.println(str1.hashCode()==str2.hashCode()); // (3)

1,false 因为str1,str2两个是String类型的.不能用int类型的 ==来进行对比

2,true 因为String相比较就是用 eq来进行对比.所以为true
3.true 因为 hashcode其实和eq是差不多的.但是在集合里数据较多的情况下.hashcode的效率比eq效率高
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答