强圆nice 2016-05-18 07:14 采纳率: 55.2%
浏览 1202
已采纳

java中的字节数组问题?

为什么这个test1的长度是6?我明明开辟了1024的内存啊

 public class AyyayTest {
    public static void main(String[] args) {
        byte[] test1=new byte[1024];
        test1="doload".getBytes();
        System.out.println(test1.length);
    }

}

  • 写回答

2条回答 默认 最新

  • 开发小菜鸟 2016-05-18 07:27
    关注

    "doload"是一个长度为6的字符串,然后你又调用了getBytes(),这个方法的作用是将当前的字符串转换为byte数组,这个转换后的数组长度为6,并且
    你将这个数组重新赋值给了test1对象,那么test1对象就指向了这个长度为6的新数组,所以你输出的结果是6,而不是1024。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 BDSBAS-B1C和B1C信号有什么不同
  • ¥15 在半圆平面内随机生成点坐标
  • ¥15 系统容量变化的几种多址方式TDMA, CDMA,FDMA,OFDMA 对比,应该给的是一个曲线 图,随着系统容量的增加,几种多址方式性能的对比 图,MATLAB程序仿真折线图
  • ¥15 用visual Studio 写c ++只运行上一个旧代码的运行结果是怎么回事
  • ¥15 系统容量变化的几种多址方式(TDMA,FDMA,OFDMA,CDMA)对比(相关搜索:曲线图)
  • ¥15 worldclim 历史及未来气候数据矫正
  • ¥15 ajax服务器不能下载
  • ¥15 运用c++和opencv实现二维码的识别和三维坐标的建立
  • ¥100 理想汽车的ADB为什么到了国外换了SIM就可以打开?
  • ¥15 k210烧入flash报错error:2005