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()){ –