我这空指针异常!?没看懂是什么原因

ncist_jianeng 2012-06-04 03:15:08

Collection<Process> collection = processes.values();
Iterator<Process> iter = collection.iterator();
//int i = 0;
while(iter.hasNext()){
Process process1 = iter.next();
System.out.println(process1.str+process1.height);
if(process1.height!=process.height){ //如果与执行的优先权不相等,认为是等待进程,优先权加一
pros.add(process1); //没错,就是这句抛出空指针异常
System.out.println(process1.str+"被阻塞!");
}
}


显示如下:
process340.0
process230.0
抛出Exception in thread "main" java.lang.NullPointerException
at ncist.threadTest.ProcessAction.changHeight(ProcessAction.java:41)

空指针异常??
可是从输出看我的process1有值,进入if语句后就变成空指针了??
我把if语句去掉,正常显示,如下:
process340.0
process230.0
process110.0
...全文
129 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
昵称无法识别 2012-06-04
  • 打赏
  • 举报
回复
明显pros为空
ncist_jianeng 2012-06-04
  • 打赏
  • 举报
回复
嗯,粗心了!忘记new了
huage 2012-06-04
  • 打赏
  • 举报
回复
pros 为null吧 ,打印试试 没怎么看你注释 ,才看见
huage 2012-06-04
  • 打赏
  • 举报
回复
确定是if那一行报错吗
huage 2012-06-04
  • 打赏
  • 举报
回复
这样试试嘛 if(process!=null && process.height != null &&process1.height!=process.height)
ncist_jianeng 2012-06-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
process 是否有值
[/Quote]

有的!
process.height为40
huage 2012-06-04
  • 打赏
  • 举报
回复
process 是否有值

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧