字符串是一個對象。爲什麼可以像原始類型一樣初始化它:String str =「my string」;我期待通過使用構造函數來看初始化:new String(「my string」);作爲原始類型的Java字符串初始化
-2
A
回答
2
這只是java提供的簡化。另一種選擇是非常難看的。您可選擇的解決方案有一個簡單的邏輯錯誤:
new String("my string");
只是藏漢使用字符串字面簡單地"my string"
。該真正選擇將使用byte[]
(不推薦),這看起來更糟糕是
new String(new char[]{'m','y',' ',...,'n','g'});
或者只是相同的例子。
+0
謝謝,所以基本上編譯器將「我的字符串」轉換爲char序列給我們? –
+0
@WildGoat不需要轉換,'String'字面上是Java中的一個'CharSequence',因爲這是'String'類實現的接口之一。 – azurefrog
0
你可以去javadocs:
除非需要的原明確的複製,使用此構造是不必要的,因爲字符串是不可改變的。
相關問題
- 1. 矢量和原始類型初始化
- 2. 初始化「的字符串」
- 3. 使用字符串作爲類名動態初始化類
- 4. 函數原型中的字符串初始化
- 5. 不能調用類型 '雙' 初始化與類型 '(字符串?)'
- 6. Android字符串初始化
- 7. 字符串初始化
- 8. GPS初始化字符串?
- 9. 字符串初始化
- 10. 初始化內置類型初始化
- 11. 初始化std :: map中的原始類型的值是否已初始化?
- 12. 原始類與包裝類初始化
- 13. 使用Jackson將JSON字符串解析爲原始Java類型?
- 14. JavaScript字符串是原始類型?
- 15. 字符串原始類型/字符串類的區別?
- 16. 初始化泛型類作爲變量
- 17. 字符串不斷初始化爲空
- 18. Java類初始化
- 19. 爲什麼字符串需要用初始值初始化?
- 20. 執行特殊類型的字符串初始化的用C
- 21. 在C++中初始化非原始類靜態數據類型
- 22. 初始化自己的類型與串
- 23. 參數化Java中的原始類型
- 24. 初始化字符*
- 25. 原始類型到字符串的Java級聯
- 26. 如何使`new []`初始化原始類型的數組?
- 27. 誰觸發原始類型的初始化?
- 28. 的IntelliTrace:類型初始化
- 29. Java:從一個字符串初始化一個類
- 30. 在.net中按名稱字符串初始化類型
[This](http://stackoverflow.com/questions/8046045/java-string-literal-pool-and-string-object)也可能有用。 –