栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

==是否检查布尔值是否完全相等?-Java

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

==是否检查布尔值是否完全相等?-Java

==是否检查布尔值是否完全相等?-Java

这取决于您是在谈论

Boolean
s(对象包装,请注意大写
B
)还是
boolean
s(原始,请注意小写
b
)。如果您在谈论
Boolean
s(对象包装器),就像处理所有对象一样,请
==
检查
身份 ,而不是对 。如果您在谈论
boolean
s(基元),它将检查是否相等。

所以:

Boolean a, b;a = new Boolean(false);b = new Boolean(false);System.out.println("a == b? " + (a == b)); // "a == b? false", because they're not the same instance

boolean c, d;c = false;d = false;System.out.println("c == d? " + (c == d)); // "c == d? true", because they're primitives with the same value

关于字符串:

我听说如果将2个字符串与==进行比较,则只有在字符串相同且它们都引用相同的对象/实例的情况下,我才会返回true。

它不是真正的“与”:

==

检查两个
String
变量是否引用同一
String
实例。当然,一个
String
实例只能有一组内容,所以如果两个变量指向同一个实例,自然的内容是相同的…
:-)关键的一点是,
==
将报告
false
不同的
String
情况下,即使他们有相同字符,顺序相同。这就是为什么我们不使用
equals
它们
==
。由于
intern
ing(特定于字符串),字符串可能会有点混乱(没有等效的
Boolean
,尽管使用时
Boolean.valueOf(boolean)
会得到一个缓存的对象)。还要注意,Java没有像原始语言那样的原始字符串
boolean
int
等等。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/438598.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号