回答
引擎盖下,一个字符串(引号内的文本)自动由String实例代替。 (文字字符串是new String
简写)
这就是为什么这个代码工作:String hello = "hello";
所以,
String hej = pets.getBark();
if(hej.equals(new String("woff"))) {}
等同于你所提供的代码。
实际上并不完全一样,由于字符串interning,IIRC。 – 2010-01-12 04:22:22
带引号的字符串是一个对象。它是String类的一个实例。
如果我正确理解您的问题,您想知道为什么字符串值可以传递给接受类型为String
的参数的方法。这是因为一个字符串文字是一个String
实例的简写(新的实例或已被保留通过实习的方式以前创建的实例):
的
String
类描述字符 字符串。 Java 程序(如“abc”)中的所有字符串文字都是 ,其实现为此 类的实例。
文字字符串仍然是String类型。
您可以通过java.lang.String
,java.lang.Object
的子类型,因为Liskov substitution principle这样说。
不是什么OP问,但仍然是一个好点。 – 2010-01-12 04:32:15
- 1. java socket equals方法
- 2. 实例方法equals()
- 3. Java overided equals方法
- 4. 优化equals()方法
- 5. java的equals()方法
- 6. C#HashSet Equals方法
- 7. 谓词<T>方法equals()方法
- 8. CompositeId和overrided GetHashCode()方法和equals()方法
- 9. Java重写Object equals()方法
- 10. equals()方法的帮助
- 11. equals方法不工作
- 12. 其中.Equals()方法使用
- 13. 使用equals方法铸造
- 14. 如何重写equals方法
- 15. 与equals方法在Rails的
- 16. 形成equals方法java hw
- 17. 有两种equals()方法
- 18. 重写的hashCode equals方法
- 19. 倍率Equals方法在C#
- 20. 无法解析方法equals(java.lang.Long)
- 21. 关于在java中覆盖equals方法
- 22. BigDecimal的equals()方法对的compareTo()
- 23. 实现良好的equals方法
- 24. Should.js - equals方法中的不一致should.equals
- 25. equals()方法是不是有串
- 26. 正确执行equals() - 分数的方法
- 27. LINQ的不同不调用equals方法
- 28. 重写的hashCode()和equals()方法
- 29. 的Equals在会话Bean方法
- 30. equals方法二进制对象
字符串是一个对象。 – 2010-01-12 06:44:04