Java equals()方法?

Java equals()方法?,java,Java,一个人不应该把一个物体传给相等的物体吗 String hej = pets.getBark(); if(hej.equals("woff")) 为什么可以传递字符串woff?带引号的字符串是一个对象。它是String类的一个实例 如果我正确理解了您的问题,您可能想知道为什么可以将文本字符串值传递给接受string类型参数的方法。这是因为字符串文字是实例(新实例或先前创建的实例,已通过内部保存)的缩写: 字符串类表示字符 字符串Java中的所有字符串文本 像“abc”这样的节目是

一个人不应该把一个物体传给相等的物体吗

    String hej = pets.getBark();
    if(hej.equals("woff"))

为什么可以传递字符串woff?

带引号的字符串是一个对象。它是String类的一个实例

如果我正确理解了您的问题,您可能想知道为什么可以将文本字符串值传递给接受
string
类型参数的方法。这是因为字符串文字是实例(新实例或先前创建的实例,已通过内部保存)的缩写:

字符串
类表示字符 字符串Java中的所有字符串文本 像“abc”这样的节目是 作为这方面的实例实现 课程。


在引擎盖下,字符串文本(引号内的文本)自动替换为字符串实例。(字符串文字是新字符串的缩写)

这就是此代码工作的原因:
String hello=“hello”

所以


与您提供的代码相同。

文字字符串仍然是string类型。

您可以传递
java.lang.string
,它是
java.lang.Object
的子类型,因为它是这样说的。

由于字符串内部,它实际上与字符串不完全相同,IIRC。
 String hej = pets.getBark();
 if( hej.equals( new String("woff") ) ) {}