首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

请问达人: java中new int[0]是什么意思

2012-01-28 
请教达人: java中new int[0]是什么意思int[] temptnulltemptnew int[0]我看不懂,请达人帮忙[解决办法]

请教达人: java中new int[0]是什么意思
int[] tempt=null;
tempt=new int[0];
我看不懂,请达人帮忙

[解决办法]
int[] tempt=null; 
tempt=new int[0]; 

第一句:声明一个数组,名字是tempt,并将数组置空
第二句:给数组设定长度,长度为0。
如果tempt = new int [10],长度就是10,初始数组内容就是[0,0,0,0,0,0,0,0,0,0]
[解决办法]

tempt=new int[0];//申明零个int空间的数组给temp
[解决办法]
个人感觉应该不会是为了类型转换吧,用处怕只有自己在某些方面才有用处吧,有时我会在一个方法返回数组时,用new int[0]来表示这个数组没有返回.
[解决办法]
int[] tempt=null; //申明一个整型的数组
tempt=new int[0];//创建一个容量为0的数组,并让tempt指向它
[解决办法]
总感觉是为了避免越界错误
for(int i=0;i<tempt.length;i++){}
[解决办法]
长度为零的数组,个人觉得无论作用如何,都是不值得推荐的。
[解决办法]
class A{
public static void main(String args[]){
int[] tempt=null; 
tempt=new int[0]; 
for(int i=0;i<tempt.length;i++)
System.out.println(tempt[i]);
}
}
什么也不输出。。。。。。。。。这有什么用啊??
[解决办法]
回答1:
int[] tempt=null; //申明一个整型的数组
tempt=new int[0];//创建一个容量为0的数组,并让tempt指向它
===================================================
这是一个很长用的编程技巧.
有些数组在预定义的时候不知道它的长度,只能在运行的时候获得,这就需要先定义一个空的数组。
int[] temp;
...
arrayLength= XXXXX
temp=new int[arrayLength]

回答2:
class A{
public static void main(String args[]){
int[] tempt=null; 
tempt=new int[0]; 
for(int i=0;i <=tempt.length;i++)
System.out.println(tempt[i]);
}
}
这样又抛出Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at A.main(A.java:6) 的异常。。。。。 
=============================================
在上面的循环中,本来打算是在i==0时输出temp[0]
但因是temp的长度是0(temp[0]是数组的第一个数据,要求temp的长度最少是1),所以报错了。
应改为:
temp=new int[X]; //X>=1;

[解决办法]
用在传入参数或者返回值的情况较多,一般表示这个数组没有内容。
主要是避免出现莫名的空指针错误。
[解决办法]
这种定义应该用于返回值的时候比较多呢>假如一个方法返回的数组没有值,现在定义一个长度为零的数组就很有用啦!呵呵!
学习!

热点排行