回答
引擎蓋下,一個字符串(引號內的文本)自動由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 overided equals方法
- 2. 實例方法equals()
- 3. C#HashSet Equals方法
- 4. 優化equals()方法
- 5. java的equals()方法
- 6. 謂詞<T>方法equals()方法
- 7. Java重寫Object equals()方法
- 8. 其中.Equals()方法使用
- 9. equals()方法的幫助
- 10. 使用equals方法鑄造
- 11. 與Android中的equals()方法比較
- 12. 正確執行equals() - 分數的方法
- 13. 如何在JSP中使用equals()方法?
- 14. 如何實現hashCode和equals方法
- 15. 覆蓋DTO中的equals方法
- 16. 重寫的hashCode()和equals()方法
- 17. SCJP hashCode()和equals()方法混淆
- 18. Hibernate的標準API equals方法
- 19. 的Java HashMap.containsKey()不調用equals()方法
- 20. 在Java中重寫equals - getClass()方法
- 21. Testng中的Assert Array Equals方法
- 22. 代理類沒有equals方法WCF
- 23. 在java中實現equals方法
- 24. Should.js - equals方法中的不一致should.equals
- 25. 比較字符串使用.equals()方法
- 26. IEquatable - 覆蓋equals方法 - 檢查空
- 27. toString,hashcode和equals方法內部接口
- 28. LINQ的不同不調用equals方法
- 29. equals方法二進制對象
- 30. 重載equals方法在Java中
字符串是一個對象。 – 2010-01-12 06:44:04