在java中怎样判断数组是否已经被初始化?
用eclipse一直提示错误:myArr可能没有被初始化class123{int[]myArr;if(***){myArr被初始化;}else{myArr未初始化;}fo...
用eclipse一直提示错误:myArr可能没有被初始化
class 123{
int[] myArr;
if(***){myArr被初始化;}
else{myArr未初始化;}
for(int i=0,i<myArr.length,i++){***}//这里就会提示错误,那我想请问,有没有办法先判断myArr是否已经被初始化了?
} 展开
class 123{
int[] myArr;
if(***){myArr被初始化;}
else{myArr未初始化;}
for(int i=0,i<myArr.length,i++){***}//这里就会提示错误,那我想请问,有没有办法先判断myArr是否已经被初始化了?
} 展开
6个回答
展开全部
提示你错误的原因是你只声明了数组,并没初始化就在下面用,解决方法很简单,给数组一个默认值就可以了
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未初始化;}
}
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已经初始化");
}
if(myArr==null){
myArr=new int[10];
}else{
system.out.println("myArry已经初始化");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
他们回答的都不错,我就不献丑了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
上楼的回答比较到位了,不过我感觉类命名不能以数字开头吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |