回答
引擎蓋下,一個字符串(引號內的文本)自動由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