Re: [問題] 請問 Java 的 String 是否有結束符號呢?
※ 引述《endl (換行)》之銘言:
: 以往在 C/C++ 中,可以用 \0 當做一個字串的結束符號,或是計算字串的長度
: 想請教的是,在 Java 中的 String,有沒有類似 \0 的字元呢?
Java 的 String 不像 C 一樣用 \0 作結束符號。
: 目前的問題大概如下:
: byte [] str_arr = "ABCD".getBytes();
: byte [] out_arr = new byte[10];
: // 將 str_arr 複制到 out_arr 中
: System.out.println(new String(out_arr).length());
: ^^^^^^^^^^^^^^^
: 這邊 String 的長度會變成 10
此時字串內容為 "ABCD\u0000\u0000\u0000\u0000\u0000\u0000",
所以長度為 10.
: 感覺起來一整個怪怪的...:(
: 會有這個需求,是因為我要把 String 寫到檔案中,而檔案中分配給 String 的空間
: 是固定的(ex:10),當我寫入後,再讀出來時,String 的長度會不正確,不知道該
: 怎麼解決才好,目前的想法是碰到 0 之後的 byte 全都不轉成 String,不知道這樣
: 會不會有問題呢?
這個你可以自己試試看。
: 先謝了...:)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.175.153.57
討論串 (同標題文章)