通常“==”用于比較基本類型,equals比較的是對象。但是我現在有個疑問:class Warehouse
{
public static void main(String args[])
{
Golfball gb1=new Golfball("BrandX","Professional",100);
Golfball gb2=new Golfball("BrandX","Professional",100); if(gb1.equals(gb2))
System.out.println("equals");
else
System.out.println("not equals");
}
}輸出的是:not equals
哪位大蝦幫忙解釋一下!!
{
public static void main(String args[])
{
Golfball gb1=new Golfball("BrandX","Professional",100);
Golfball gb2=new Golfball("BrandX","Professional",100); if(gb1.equals(gb2))
System.out.println("equals");
else
System.out.println("not equals");
}
}輸出的是:not equals
哪位大蝦幫忙解釋一下!!
Golfball gb2=gb1;gb1.equals(gb2) == true
Golfball gb2=new Golfball("BrandX","Professional",100);
-----------
gb1和gb2只是类型相同不是同一引用...所以 Equals 不相等...至于 == 运算符,对于预定义的值类型,如果操作数的值相等,则相等运算符 (==) 返回 true,否则返回 false。对于 string 以外的引用类型,如果两个操作数引用同一个对象,则 == 返回 true。对于 string 类型,== 比较字符串的值。所以 gb1 != gb2...
说的已经很全面了