作者jtmh (m...)
看板java
标题Re: [问题] 请问 Java 的 String 是否有结束符号呢?
时间Tue Mar 13 15:05:26 2007
※ 引述《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