在Java語言中,equals和=符號在使用上是完全不同的。
首先,=符號是用來賦值的。例如:
int a = 5;
這個語句將整數變量a賦值為5。
而equals方法是用來比較兩個對象是否相等的。例如:
String str1 = "hello"; String str2 = "hello"; if (str1.equals(str2)) { System.out.println("str1等于str2"); }
這個代碼將輸出"str1等于str2",因為雖然str1和str2是兩個不同的對象,但它們所存儲的內容是相同的。
下面是一道關于equals和=的筆試題:
public class Test { public static void main(String[] args) { String str1 = "hello"; String str2 = "hello"; String str3 = new String("hello"); System.out.println(str1 == str2); System.out.println(str1 == str3); System.out.println(str1.equals(str3)); } }
輸出結果為:
true false true
這個例子很好地說明了equals和=之間的區別。在第一行語句中,由于str1和str2所存儲的內容相同,因此它們在內存中的地址也相同,所以==運算符返回true。在第二行語句中,由于str3是通過new關鍵字創建的新的字符串對象,因此str1和str3在內存中的地址不同,==運算符返回false。在第三行語句中,由于equals方法比較的是字符串對象的內容,因此返回true。
上一篇css 修改單選按鈕樣式
下一篇css 保持最前面