难道不应该把一个对象传递给equal吗?
String hej = pets.getBark();
if(hej.equals("woff"))为什么你可以传递一个字符串woff?
发布于 2010-01-12 12:20:34
在幕后,字符串文本(引号内的文本)会自动替换为字符串实例。(字符串文字是new String的简写)
这就是这段代码工作的原因:String hello = "hello";
所以,
String hej = pets.getBark();
if( hej.equals( new String("woff") ) ) {}与您提供的代码完全相同。
发布于 2010-01-12 12:20:25
如果我正确理解了您的问题,您可能想知道为什么文字字符串值可以传递给接受String类型参数的方法。这是因为字符串文字是String实例(新实例或先前创建的通过interning保留的实例)的简写形式:
String类表示字符串。 Java程序中的所有字符串文字,如"abc",都是作为此类的实例实现的。
发布于 2010-01-12 12:20:13
带引号的字符串是一个对象。它是String类的一个实例。
https://stackoverflow.com/questions/2046680
复制相似问题