-2

如果

"blah".equals(string);

相当于

x == y;

字符串比较等价于什么

X != y;

对不起,如果这是非常基本的。到目前为止,搜索证明有点困难。

4

5 回答 5

4

"blah".equals(string)不等于x == y. 第一个是函数,第二个是内置的 java 运算符。字符串的默认实现是有效的,因为 java 中的字符串是以特殊方式处理的。但是如果有人在一个类中覆盖了默认实现equals,你可以拥有a.equals(b)but a != b

于 2012-11-19T08:00:33.500 回答
3
"blah".equals(string); 

计算结果为布尔值,如果它们相等则为 true,否则为 false。通过附加一个!在前面,我们取它的倒数,如果它们不相等,则为 true,如果它们相等,则为 false。这就是你想要的:

!("blah".equals(string)); 

在更迂腐的节点上,对于字符串,"blah".equals(string) 与 "blah" == string 不同,因为您可能不需要知道复杂性。另外,我建议您阅读布尔逻辑。

您的 x != y 示例也是 !(x == y) 的简写

于 2012-11-19T08:01:50.210 回答
3

首先,如果我记得我在大学时正确地教过我的话,equals这并不等同于 Java:P。确定两个对象是否具有相同的“内容”,同时简单地比较两个“引用”。==equals==

我会试着回答你的问题,!"blah".equals(string);也许吧?

于 2012-11-19T08:01:03.457 回答
1

正确的写法是:if(!"blah".equals(string))

于 2012-11-19T08:00:20.427 回答
0

是否!x.equals(y)执行您想要的不等式测试?

于 2012-11-19T08:00:23.257 回答