在java中有一个字符串类方法,如下所示.但我想知道我们如何能够在类型为string的随机变量上调用该方法?
String word = "hello"
word.equals("hello");
Run Code Online (Sandbox Code Playgroud)
输出是真的
该equals()
方法用于验证两个Java类的实例的状态是否相同.因为equals()
来自Object类,所以每个Java类都继承它.但equals()
必须重写该方法才能使其正常工作.当然,String覆盖equals()
.
看一看:
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String aString = (String)anObject;
if (coder() == aString.coder()) {
return isLatin1() ? StringLatin1.equals(value, aString.value)
: StringUTF16.equals(value, aString.value);
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
如您所见,String类值的状态必须是equals()而不是对象引用.对象引用是否不同无关紧要; 将比较String的状态
我从这里拿走了它.如果您对字符串池有所了解,那就更好了.所以请参考链接