黑马程序员技术交流社区
标题:
关于byte数组
[打印本页]
作者:
wyy283
时间:
2013-7-25 16:57
标题:
关于byte数组
本帖最后由 杨兴庭 于 2013-7-25 23:18 编辑
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
String str="123456789";
byte[]bt=new byte[4];
System.out.println(bt.length);
bt=str.getBytes();
System.out.println(bt.length);
}
}
打印的结果是4,9.。为什么,求解。
作者:
lljwdbklb
时间:
2013-7-25 17:34
第一个答案是你自己new出来的 。第二个答案是你自己调用String.getBytes(),在那个方法里会帮你new出一个新的byte数组 替换掉你原来的那个。
作者:
一木榜公
时间:
2013-7-25 17:41
byte[]bt=new byte[4];
System.out.println(bt.length);
求字节数组的长度,你上面定义是4,所以长度为4;
bt=str.getBytes();
getBytes();返回值是一个字节数组,所以这个时候的bt代表的是新数组,数组长度由字符串str决定。
作者:
冒烟的芒果
时间:
2013-7-25 18:26
前一个结果:4 是你自己定义的数组长度,没有疑问
后一个是通过调用getBytes()方法得到的
getBytes方法的功能是 使用平台默认的字符集将此 String 解码为字节序列,并将结果存储到一个新的字节数组中。
有9个字节 ,所以结果是9
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2