java - 无法对基本类型 boolean 调用 equals(boolean)

标签 java string if-statement

我想检查字符串的第一个和最后两个字符是否相等,所以我写了这样的条件

if (str.length() >= 4
            && ((str.startsWith(str.substring(0, 2))).equals(str.endsWith(str
                    .substring(str.length() - 3, str.length() - 1)))))

但我收到错误 无法对基本类型 boolean 调用 equals(boolean)

那么根本原因是什么?

最佳答案

出现错误,因为:str.startsWith() 返回 boolean 值,而我们使用 Boolean 调用 equals()

使用此表达式进行比较:

    str.substring(0, 2).equals(str.substring(str.length() - 3, str.length() - 1))

关于java - 无法对基本类型 boolean 调用 equals(boolean),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30182866/

相关文章:

r - 如果在一定的时间范围内,如何在 R 中赋值?

if-statement - 替代 if 语句层

java - 消费者生产者模式,生产者等待所有消费者完成后再重新触发自身?

java - 无法部署,上下文文件损坏

string - 字符串的 IDA Pro 脚本

string - F# 字符串构建

java - 在同一台机器上运行的 Java 和 C++ 应用程序之间的 IPC 最佳方法是什么?

java - 关键高效的服务器

Java 字符串连接在 concat 1+1 上给出输出 2 等于 11 +"equals"+1+1

java - If else 语句有 4 个结果但只有 2 个似乎有效