代码如下:
public class Test {
![](/Images/OutliningIndicators/InBlock.gif)
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String str1 = "skr";
String str2 = new String("skr");
String str3 = "skr";
String str4 = new String("skr");
Float f1 = new Float(0.9f);
Float f2 = new Float(0.9f);
Float f3 = 0.9f;
float f4 = 0.9f;
System.out.println("str1==str2: " + (str1 == str2));
System.out.println("str1.eqauls(str2): " + str1.equals((str2)));
System.out.println("str1==str3: " + (str1 == str3));
System.out.println("str2==str4: " + (str2 == str4));
System.out.println("Hashcode:");
System.out.println("str1:" + str1.hashCode() + "; str2:" + str2.hashCode() + "; str3:" + str3.hashCode());
System.out.println("f1 == f2: " + (f1 == f3));
System.out.println("f1.equals(f2): " + f1.equals(f2));
System.out.println("f1 == f3: " + (f1 == f3));
System.out.println("f1 == f4: " + (f1 == f4));
System.out.println("f3 == f4: " + (f3 == f4));
System.out.println("HashCode:");
System.out.println("f1:" + f1.hashCode() + "; f2:" + f2.hashCode() + "; f3:" + f3.hashCode());
}
![](/Images/OutliningIndicators/InBlock.gif)
}
运行的结果为:
str1==str2: false
str1.eqauls(str2): true
str1==str3: true
str2==str4: false
Hashcode:
str1:113946; str2:113946; str3:113946
f1 == f2: false
f1.equals(f2): true
f1 == f3: false
f1 == f4: true
f3 == f4: true
HashCode:
f1:1063675494; f2:1063675494; f3:1063675494
结论: 对象的引用之间不能直接(==)比较,必须用equals函数。
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](/Images/OutliningIndicators/None.gif)
运行的结果为:
str1==str2: false
str1.eqauls(str2): true
str1==str3: true
str2==str4: false
Hashcode:
str1:113946; str2:113946; str3:113946
f1 == f2: false
f1.equals(f2): true
f1 == f3: false
f1 == f4: true
f3 == f4: true
HashCode:
f1:1063675494; f2:1063675494; f3:1063675494
结论: 对象的引用之间不能直接(==)比较,必须用equals函数。