它只是一個字符數組?Java字符串中的底層容器是什麼?
6
A
回答
10
是的,加上一些元數據,如開始和結束索引(因爲可以跨字符串共享字符數組,例如,當您創建子字符串時)。
縱觀源java.lang.String
,你看到下面的實例字段:
/** The value is used for character storage. */
private final char value[];
/** The offset is the first index of the storage that is used. */
private final int offset;
/** The count is the number of characters in the String. */
private final int count;
/** Cache the hash code for the string */
private int hash; // Default to 0
+0
和一些方法和算法...作爲'字符串'是一個對象,而不是一個原始'數據類型' – 2010-09-15 05:19:00
+1
@Garis是的,但這不是容器,這是頂部的糖 – 2010-09-15 06:53:32
相關問題
- 1. 實體框架連接字符串的底層是什麼?
- 2. 比較字符串時的底層邏輯是什麼?
- 3. Java,什麼是底層文檔
- 4. 什麼是Java中的字符串池?
- 5. Scala中的「底層類型」是什麼?
- 6. .NET中字符串解析的適當層是什麼?
- 7. std :: map的底層結構是什麼?
- 8. `mkvirtualenv`命令的底層是什麼?
- 9. graphql的底層後端是什麼?
- 10. 什麼是Java中的容器
- 11. Zend中底層控制器的下側是什麼?
- 12. java服務器端到底是什麼?
- 13. C#的@字符串文字在Java中對應的是什麼?
- 14. 使用字符串流操作底層字符串對象
- 15. 什麼是Java字符串compareTo方法和什麼是Java字典序
- 16. 爲什麼字符串存儲在Java中的字符串池?
- 17. Java字符串中負字節值的意義是什麼?
- 18. 什麼是ZeroMQ底層設計架構
- 19. 什麼是空字符串?
- 20. 什麼是unicode字符串?
- 21. 什麼是Uri字符串?
- 22. 什麼是C#字符串
- 23. CSS中的`〜`代字符串是什麼?
- 24. {}中的字符串是什麼意思?
- 25. 什麼是.NET中的字符串?
- 26. 什麼是Perl中的「字符串化」?
- 27. Go中的字符串是什麼?
- 28. C#中字符串前的@是什麼?
- 29. 什麼是Java 8中的字符串鍵的替代散列?
- 30. 爲什麼java中的字符串是不可變的?
可能是一個int [] – irreputable 2010-09-15 05:13:37
+1你的好奇心...查看:http://www.docjar.com /html/api/java/lang/String.java.html – 2010-09-15 05:19:27
@irreputable ...但事實並非如此。 – 2010-09-15 06:33:56