public class DeadCodeInLuna {
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String string;
for (string = in.readLine(); !string.equals(""); string=in.readLine()) {
if(string == null) {
System.out.println("null while reading response!");
}
}
}
}
1
A
回答
4
因爲string
永遠不能null
如果!string.equals("")
計算結果爲true
。
換句話說,當!string.equals("")
是true
,string
保證是不是null
否則NullPointerException
會發生。
+0
好的捕獲。我看不到那個。 –
1
因爲在代碼的那一點,string
不能爲空。如果它從in.readLine()
出來null
,您會在for
的條件檢查中得到NullPointerException
。
將其更改爲
for(string=in.readLine();!"".equals(string);string=in.readLine())
if(string==null) System.out.println("null while reading response!");
}
其中equals
會不管string
是否是空的工作,你會看到警告消失。
0
在你的病情,你避免string == null
for (string = in.readLine(); !string.equals(""); string=in.readLine()) {
// ^--------> here!!!
所以if(string == null)
是多餘的,永遠不會爲真
相關問題
- 1. 爲什麼我會收到警告「死碼」?
- 2. 爲什麼會收到一個警告?
- 3. 爲什麼我會收到此警告/錯誤?
- 4. 爲什麼我會收到數據轉換警告?
- 5. 爲什麼我會收到未經檢查的投射警告?
- 6. NSIS安裝程序。爲什麼我會收到警告「!verbose:pop failed」?
- 7. 爲什麼我會收到警告Unchecked assignment?
- 8. 爲什麼我說「git commit」後會收到警告。
- 9. 爲什麼我會收到一個警告:「build.properties不存在」
- 10. 爲什麼我會收到警告:跳過關鍵錯誤?
- 11. 爲什麼我會收到這些警告?
- 12. 爲什麼我會收到「表達結果未使用」警告?
- 13. 當我試圖安裝RVM時,爲什麼會收到警告?
- 14. 爲什麼我收到「TimeoutHandler到期信息ID是」警告
- 15. 爲什麼每次使用malloc時都會收到警告?
- 16. 爲什麼我每次爲PyQt5項目都會收到警告「QStandardPaths:XDG_RUNTIME_DIR not set」
- 17. 死代碼警告
- 18. 死代碼警告?
- 19. 爲什麼我有警告?
- 20. Python sklearn。爲什麼我第一次收到警告?
- 21. 爲什麼我收到一個警告「沒有效果聲明」?
- 22. PHP MYSQL:爲什麼我收到此警告?
- 23. CS0436:警告如錯誤:爲什麼我收到此錯誤
- 24. iOS - 我收到內存警告,但不知道爲什麼
- 25. 爲什麼我沒有收到Perl的警告?
- 26. 爲什麼我得到mysql_real_escape_string()警告?
- 27. 爲什麼我會遇到dispatch_once死鎖?
- 28. 爲什麼我會得到'No -renderInContext:找到方法'警告?
- 29. 爲什麼我每次打開eclipse時都會收到安全警告?
- 30. 爲什麼我會收到有關NSMutableArray不兼容指針類型的警告?
您比較vlaue後進行空檢查,以便以後嘗試更改對象不能爲空(string == null){for(string = in.readLine();!string.equals(「」); string = in.readLine()){ –