在java中怎样判断数组是否已经被初始化?

来源:百度知道 编辑:UC知道 时间:2024/09/24 10:43:53
用eclipse一直提示错误:myArr可能没有被初始化
class 123{
int[] myArr;
if(***){myArr被初始化;}
else{myArr未初始化;}
for(int i=0,i<myArr.length,i++){***}//这里就会提示错误,那我想请问,有没有办法先判断myArr是否已经被初始化了?
}

提示你错误的原因是你只声明了数组,并没初始化就在下面用,解决方法很简单,给数组一个默认值就可以了
int[] myArr=null;

但如果int[] myArr=null; 这句和for(int i=0,i<myArr.length,i++){***}两句之间没有给数组赋值,它还是null,这时候当然会出错,null怎么.length

判断myArr是否已经被初始化只需要判断一下他是否为null即可,所以你的程序可以这样写:

class 123{
int[] myArr=null;
if(myArr == null || myArr.length == 0){
myArr被初始化;
for(int i=0,i<myArr.length,i++){***}
}
else{myArr未初始化;}
}

首先要看你的数组定义在什么地方,要是在类中定义的,默认会有一个初始化的值。如果你是在方法中定义的,那么需要你手动的初始化一下。所以建议把数组放到类中去定义,而不要放到方法台去定义。如果你一定要在方法中定义的话,那么就在定义的时候给他初始化,就算不初始化,也要给他负上空值。这是良好的习惯。

楼上的回答都不错啊 方法很多啊 你自己随便用啊 嘿嘿

他们回答的都不错,我就不献丑了

直接看看是否为空
if(myArr==null){
myArr=new int[10];
}else{
system.out.println("myArry已经初始化");
}