java - 为什么我可以使用 .equalsIgnoreCase ("anoterString") 而不将其分配给变量或在控制流语句中?

标签 java

我遇到了这段代码:

    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/

相关文章:

java - 从 Google App Engine 中删除静态文件

java - 如何在 Struts 1 中上传多个文件

java - 删除出站旁边的项目

java - 摆脱@Autowired(删除Spring依赖)

java - android 中使用 RecyclerView 的聊天应用程序

java - 配置jmxremote时无法正常停止tomcat

Java 说我必须返回一个对象,但我抛出异常

java - 通过 ssh (java) 连接到 mysql 数据库

java - 无法让 BIRT 与 POJO 一起工作

java - 无法从 ProcessBuilder 运行另一个 java 程序?