当前位置: 技术问答>java相关
关于数组的初始化!!(我都有点迷糊了)
来源: 互联网 发布时间:2015-05-21
本文导语: 比如我自定义一个class className,里面有个public static byte[] mothodName()方法,就是返回一个byte[]数组的作用。 目前我是这么处理的,首先 byte[] Btbuf = new byte[1000];//因为不知道返回数组大小,故定义很大 Btbuf = className...
比如我自定义一个class className,里面有个public static byte[] mothodName()方法,就是返回一个byte[]数组的作用。
目前我是这么处理的,首先
byte[] Btbuf = new byte[1000];//因为不知道返回数组大小,故定义很大
Btbuf = className.mothodName();
这样,我debug调试的时候发现数组Btbuf的长度变为真实的返回数组长度
我想问一下,如果我将上面两句改为:
byte[] Btbuf = className.mothodName();
这样会不会出错?
能不能提高运行效率?因为我程序里面有很多这种情况
目前我是这么处理的,首先
byte[] Btbuf = new byte[1000];//因为不知道返回数组大小,故定义很大
Btbuf = className.mothodName();
这样,我debug调试的时候发现数组Btbuf的长度变为真实的返回数组长度
我想问一下,如果我将上面两句改为:
byte[] Btbuf = className.mothodName();
这样会不会出错?
能不能提高运行效率?因为我程序里面有很多这种情况
|
应该是不会出错的
但bytep[] Btbuf = className.mothodName();
以后,Btbuf的长度就定了,如果再对它赋值而长度不一样的话,比如调用另外一个返回数组的值给它,可能就会溢出什么的……
至于提高速度的情况,我不大清楚,应该是一样吧
btw:
这些我也能保证正确,只是我觉得应该是这样……
但bytep[] Btbuf = className.mothodName();
以后,Btbuf的长度就定了,如果再对它赋值而长度不一样的话,比如调用另外一个返回数组的值给它,可能就会溢出什么的……
至于提高速度的情况,我不大清楚,应该是一样吧
btw:
这些我也能保证正确,只是我觉得应该是这样……
|
byte[] Btbuf = new byte[1000];
完全多余.
就用第二种方法.
完全多余.
就用第二种方法.
|
如果不知道大小的话可以用向量啊。也不错哦,不过好想没树组快,就是数组
不能改变大小的。
不能改变大小的。
|
向量也有不方便的地方,就是长度控制我总觉得很烦
对了,速度到底会不会变快点呢?我都不清楚!
晕
对了,速度到底会不会变快点呢?我都不清楚!
晕
|
不会出错, 向量比数组要慢。
|
第一次写程序吧?!
|
Vector我看没必要,用ArrayList比较合适!总不能数组的效率高些,就一切都用数组吧!
|
Vector和ArrayList本质是数组。
若要使用链表,就用LinkedList等等
若要使用链表,就用LinkedList等等