for(int i=0;i<List.size;i++){
...
}
初始正常运行,当List中数据大于某一值时 for(int i=0;i<List.size;i++) 该行报空指针错误,小于该值时就可正常运行,
请教该问题的原因及解决方法,谢谢!新年快乐!
13 个解决方案
#1
List.size??
你循环条件为什么是size呢?应该是list.length() 吧??
若楼主真是要以size来循环的话,最好给出循环体的代码
你循环条件为什么是size呢?应该是list.length() 吧??
若楼主真是要以size来循环的话,最好给出循环体的代码
#2
首先得知道List.size()中的List时什么类型.
是不是java.util.List?如果是Size的取值是myList.size().
然后List是允许添加Nullpoint的.所以说可能是你自己添加了一个Null到List.错误和List无关.
for(int i=0;i <myList.size();i++){
if(myList.get(i)!=null){
......
}
}
是不是java.util.List?如果是Size的取值是myList.size().
然后List是允许添加Nullpoint的.所以说可能是你自己添加了一个Null到List.错误和List无关.
for(int i=0;i <myList.size();i++){
if(myList.get(i)!=null){
......
}
}
#3
可能是你的List里边包含有null对象
#4
把代码贴出来看看。
#5
删除的时候不能用forEach,要用迭代器Itrator
#6
二楼分析的对啊。看看代码就知道了。
#7
如果是这一行报,
for(int i=0;i <List.size;i++){
一定是 你的list 为 null,你可以查下,是不是这句在运行的时候,其他地方修改list对象。
另外最好你的变量不要这样命名List
List myList = new ArrayList();
for(int i = 0; i < myList.size(); i++) {
……
}
for(int i=0;i <List.size;i++){
一定是 你的list 为 null,你可以查下,是不是这句在运行的时候,其他地方修改list对象。
另外最好你的变量不要这样命名
List myList = new ArrayList();
for(int i = 0; i < myList.size(); i++) {
……
}
#8
while(list.hasnext()){
}
}
#9
估计你有个取值操作吧,入list.get(i);
然后你的list里刚好到某值后面都为null,
所以你取出list里的null值做处理时就会报错
#10
根据仅有的信息 回答的不错啦
#11
如果有可能出现空指针的地方,最好加上判断
#12
这么简单的问题也问,try catch包一下,在catch里面把异常堆栈里面信息输出一下不就知道哪一行有问题了。
#13
分析得非常具体,学习了
#1
List.size??
你循环条件为什么是size呢?应该是list.length() 吧??
若楼主真是要以size来循环的话,最好给出循环体的代码
你循环条件为什么是size呢?应该是list.length() 吧??
若楼主真是要以size来循环的话,最好给出循环体的代码
#2
首先得知道List.size()中的List时什么类型.
是不是java.util.List?如果是Size的取值是myList.size().
然后List是允许添加Nullpoint的.所以说可能是你自己添加了一个Null到List.错误和List无关.
for(int i=0;i <myList.size();i++){
if(myList.get(i)!=null){
......
}
}
是不是java.util.List?如果是Size的取值是myList.size().
然后List是允许添加Nullpoint的.所以说可能是你自己添加了一个Null到List.错误和List无关.
for(int i=0;i <myList.size();i++){
if(myList.get(i)!=null){
......
}
}
#3
可能是你的List里边包含有null对象
#4
把代码贴出来看看。
#5
删除的时候不能用forEach,要用迭代器Itrator
#6
二楼分析的对啊。看看代码就知道了。
#7
如果是这一行报,
for(int i=0;i <List.size;i++){
一定是 你的list 为 null,你可以查下,是不是这句在运行的时候,其他地方修改list对象。
另外最好你的变量不要这样命名List
List myList = new ArrayList();
for(int i = 0; i < myList.size(); i++) {
……
}
for(int i=0;i <List.size;i++){
一定是 你的list 为 null,你可以查下,是不是这句在运行的时候,其他地方修改list对象。
另外最好你的变量不要这样命名
List myList = new ArrayList();
for(int i = 0; i < myList.size(); i++) {
……
}
#8
while(list.hasnext()){
}
}
#9
估计你有个取值操作吧,入list.get(i);
然后你的list里刚好到某值后面都为null,
所以你取出list里的null值做处理时就会报错
#10
根据仅有的信息 回答的不错啦
#11
如果有可能出现空指针的地方,最好加上判断
#12
这么简单的问题也问,try catch包一下,在catch里面把异常堆栈里面信息输出一下不就知道哪一行有问题了。
#13
分析得非常具体,学习了