gpt4 book ai didi

java - .equals ("0") 和 .equals ('0' ) 之间的区别

转载 作者:行者123 更新时间:2023-12-01 08:00:51 30 4
gpt4 key购买 nike

上下文:

使用带双引号和单引号的 equals 进行字符串比较

我尝试检查我的业务对象之一的“parentId”(字符串)字段的值,如下所示:

System.out.println("Status 1 = "+myBusObj.getParentId().equals("0"));


System.out.println("Status 2 = "+myBusObj.getParentId().equals('0'));

我得到以下输出:

Status 1 = true //where parentId was of value 0 (String)

Status 2 = false //where parentId was of value 0 (String)

问题:为什么状态 1 为 true状态 2 为 false

最佳答案

区别在于,在第一种情况下,您与单个字符 String 进行比较,而在第二种情况下,您与 Character 对象进行比较。

使用equals(Object) 无法比较字符串和字符;因此在第二种情况下是 false

<小时/>

(这里有一点微妙之处......'0'是一个char文字,它被自动装箱给你Character 对象。在 Java 5 之前,自动装箱被添加到语言中,.equals('0') 调用将是一个编译错误。这是其中之一自动装箱实际上是一个障碍的例子......)

关于java - .equals ("0") 和 .equals ('0' ) 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25337233/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com