public class Test {
public static void main(String[] args) {
String username = "";
if (username.equals("zxx"))
System.out.println("相等");
int x = 1;
System.out.println(x == 1 ? true : false);
}
}
1.第一個equals
- 一個變量直接調(diào)用equals方法會給程序帶來安全隱患趾唱,直接調(diào)用equals方法可能會拋出NullPointerException異常。為了防止程序拋出異常在調(diào)用equals方法之前要先判斷一下是否為空沮趣。
if (username != null && username.equals("zxx"))
這樣寫筆記完整
public class Test {
public static String username;
public static void main(String[] args) {
/*
* if (username.equals("zxx")) { System.out.println("haha"); //false Exception
* in thread "main" java.lang.NullPointerException }
*/
if (username != null && username.equals("zxx")) {
System.out.println("相等"); // true
}
if ("ss".equals(username)) {
System.out.println("相等"); // true
}
}
}
username
有可能為null
,就會拋出空指針異常,更好的寫法是:if ("zxx".equals(username))
username.equals();
如果username
是空的話泉哈,系統(tǒng)就不認他是一個String
津函,此時調(diào)用equals()
就報錯了肖粮。但是把String
作為參數(shù)的話,是沒有問題的
2. 第二個System.out.println(x == 1 );
這樣寫純屬多余
因為 x==1已經(jīng)是個布爾值了尔苦。所以去掉? true : false
涩馆,保證程序的簡潔