我遇到了这段代码:
for (final String s : myList)
{
s.equalsIgnoreCase(test);
updateNeeded = true;
break;
}
我怀疑这不是程序员真正想做的。我相信他打算写这样的东西:
for (final String s : myList)
{
if(s.equalsIgnoreCase(test))
{
updateNeeded = true;
break;
}
}
但是,我不明白为什么第一个代码片段没有错误。
s.equalsIgnoreCase(test);
因为方法 .equalsIgnoreCase("anoterString") 返回一个 boolean 值,它没有被分配给任何东西或在控制流语句中使用
最佳答案
这只是一个方法调用。您不必将方法调用的结果用于其他任何事情。
忽略非 void 方法的结果很少是个好主意(特别是,InputStream.read
的返回值有时在确实不应该被忽略时被忽略' be) 但语言规范并未尝试将其称为问题。
关于java - 为什么我可以使用 .equalsIgnoreCase ("anoterString") 而不将其分配给变量或在控制流语句中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9716302/