
java中null值的问题
我获得一个listSystem.out.println(idList);输出显示nullSystem.out.println(idList==null);输出却是fals...
我获得一个list
System.out.println(idList);
输出显示null
System.out.println(idList==null);
输出却是false
是什么原因?
idList是通过
entityManager.createNativeQuery("select fyId from business_reference").getResultList()
获得的 展开
System.out.println(idList);
输出显示null
System.out.println(idList==null);
输出却是false
是什么原因?
idList是通过
entityManager.createNativeQuery("select fyId from business_reference").getResultList()
获得的 展开
2个回答
展开全部
你这个List里面没有元素
System.out.println(idList);
这句话调用的实际上是idList.toString()方法 因为list没有元素 所有toString()方法会返回一个值为null的String
所以你打印的时候是null
而第二个打印的地方 因为idList并不为null(只是里面没有元素而已) 所以会打印false
System.out.println(idList);
这句话调用的实际上是idList.toString()方法 因为list没有元素 所有toString()方法会返回一个值为null的String
所以你打印的时候是null
而第二个打印的地方 因为idList并不为null(只是里面没有元素而已) 所以会打印false
展开全部
不可能啊,把全部代码放上来看看。
代码:
List list = null;
System.out.println(list);
System.out.println(list == null);
输出:
null
true
-------------------------
补充楼上的,如果list含有空元素的话,打印结果是:
[]
如果给一个list增加一个null元素的话,打印结果是:
[null]
-------------------------
你反编译一下getResultList方法,看它是返回一个null还是空元素。
然后你确定你上面两个判断是同时打印出来的,不是分别运行的吧?
代码:
List list = null;
System.out.println(list);
System.out.println(list == null);
输出:
null
true
-------------------------
补充楼上的,如果list含有空元素的话,打印结果是:
[]
如果给一个list增加一个null元素的话,打印结果是:
[null]
-------------------------
你反编译一下getResultList方法,看它是返回一个null还是空元素。
然后你确定你上面两个判断是同时打印出来的,不是分别运行的吧?
本回答被提问者采纳
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |