嗨,大家好:我很驚訝地發現,下面的代碼Java:Char與字節字節大小。
System.out.println("Character size:"+Character.SIZE/8);
System.out.println("String size:"+"a".getBytes().length);
輸出這樣的:
字符大小:2
字符串大小:1
我會假定單個字符串應占用與單個字符相同(或更多)的字節。
特別是即時知道---
如果我有一個Java bean與它的幾個領域,其規模將如何取決於字段(字符,字符串,布爾,矢量等自然增長..)我假設所有的java對象都有一些(可能很小)的腳印,並且這些腳印中最小的一個將是單個字符。所以,爲了測試這個基本假設,我開始使用上面的代碼 - 並且打印語句的結果似乎違反直覺。
默認情況下,Java存儲/序列化字符與字符串的方式的任何見解將是非常有益的...謝謝。
字符串的長度是它包含的字符數。一個字符可以用多於一個字節編碼。 – Oded 2012-03-22 15:23:01
字符串最可能是UTF-8編碼,所以「a」只需要一個字節。 – 2012-03-22 15:23:12
[絕對最小每個軟件開發人員絕對,肯定必須知道Unicode和字符集(沒有藉口!)](http://www.joelonsoftware.com/articles/Unicode.html) – Oded 2012-03-22 15:23:55