說說String的length()方法

先從《Java編程思想》中的一個小demo說起:

    int storage(String s){

        return s.length()*2;

    }

此方法告訴我們:需要多少個字節才能容納String對象s中的信息。

接下來,一起來探討一下其中的細節和知識。

 

  • 看一下String類的length()方法定義:
/** value用於存儲字符(character)*/

private final char value[];

/**

* 返回字符串長度.

* 該長度值等於字符串中Unicode的單位數

*/

public int length() {

    return value.length;

}
  • 相關知識點:
  1. Java中的char類型,大小是16位(bit),最小值:unicode 0,最大:unicode 2^16-1 。
  2. Unicode碼:是一種國際標準編碼,採用2字節(byte)編碼,一個字節是8位,所以一個unicode佔用了16位。
  3. Char 佔用位數和unicode一樣。
  4. value.length:返回的是value中存儲的字符(char)的數量,也就是返回了unicode數量。
  • 綜上所述:
int storage(String s){

   return s.length()*2;

 }

s.length():返回了字符數,一個字符等於2個字節。

所以storage(String s)方法,返回了s對象中的信息所需要的字節數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章