为什么java里面经常作List判断的时候,既要判断list不为null,又要判断size>0呢,岂不是多此一举吗?

List list=new ArrayList();1.如果是以上这样的话,lis不为null 但是size=0
这样集合对于之后的判断是没用的, 甚至是报异常,如list.get(0.......n)这样取值判断,就会报异常。

2.如果先判断size 再判断null 如:if(list.size>0){};这种情况如果list 等于null 时那么list.size会报空指针异常

所以要双重判断这样写最好if(list !=null && list.size>0){};
时间: 2024-11-09 13:18:05

为什么java里面经常作List判断的时候,既要判断list不为null,又要判断size>0呢,岂不是多此一举吗?的相关文章

List集合返回null,判断选择isEmpty还是!=null又或者list.size()==0?

事故场景还原 最近在写一个项目的时候遇到一个这样一个问题,我简单的还原一下场景,这是模拟一个简单的管理系统 ① 一张简单的客户表 CREATE TABLE customer( id INT(11) NOT NULL AUTO_INCREMENT UNIQUE, NAME VARCHAR(255) NOT NULL, gender VARCHAR(255) NOT NULL, phonenumber VARCHAR(255) NOT NULL, balance DECIMAL(10,1) UNSI

JS对undefined,null,NaN判断

1.判断undefined: <span style="font-size: small;">var tmp = undefined; if (typeof(tmp) == "undefined"){ alert("undefined"); }</span> 说明:typeof 返回的是字符串,有六种可能:"number"."string"."boolean".&

常见异常(1)— java.lang.IndexOutOfBoundsException: Index: 0, Size: 0

异常: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 原因:对于一个list在获取其中的首个元素list.get(0)时,未做判断list是否存在元素的判断 改正:if(null!=list && list.size() !=0){  list.get(0);} 注:list=null 是判断是否存在这样一个list ,list.get(0) 是指list中是否有元素(前提是这个list已经存在) 原文地址:https://w

报错: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0

描述:使用Hibernate登陆验证时故意输入没有的用户名,所产生的错误. 错误代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 /*      * 根据客户的用户名查找客户信息      */     @Override     public User getUserByUserName(String userName) {         String hql="from User where userName=?";         Session s

一个坑:java.sql.ResultSet.getInt==》the column value; if the value is SQL NULL, the value returned is 0

Retrieves the value of the designated column in the current row of this ResultSet object as a String in the Java programming language. Parameters: columnLabel the label for the column specified with the SQL AS clause. If the SQL AS clause was not spe

Java 中list==null与list.size( )==0的区别

1.list==null,意味着list压根没有地址,在堆内就不存在. 2.list.size( )= 0,意思是堆内有list,但是还没有放元素,其长度随着元素数量变化而变化,暂时为零. 3.list如果为null的话,说明没有进行初始化.这是list调用任何的方法都会抛出空异常.list.size( )==0说明list已经被new过,但      是里面没有值. 4.判断时一定要注意先后顺序,如果连杯子(list)都没有,直接判断是否有水(list.size( )),是会报NullPoin

原!! java直接打印一个对象时,并不是直接调用该类的toString方法 ,而是会先判断是否为null,非null才会调用toString方法

网上看了好多java直接打印一个对象时,直接调用该类的toString方法 . 但是: Object obj=null; System.out.println(obj);//没有报错 System.out.println(obj.toString());//报空指针异常 System.out.println(obj);既然也是直接调用toString方法,为什么不报错??? 原因总结如下: 1.调用Object类的toString方法,必须保证object不是null值,否则将抛出NullPoi

安卓中級教程(11):深入研究餓了麼的各個java檔運作關係(1)

1 package com.example.ele_me.activity; 2 3 import android.annotation.SuppressLint; 4 import android.app.Activity; 5 import android.os.Bundle; 6 import android.support.v4.widget.SlidingPaneLayout; 7 import android.view.View; 8 import android.view.Wind

Java程序员工作几年了,怎么突破技术瓶颈?

工作三年已经能够意识到这个问题,其实这是件好事:所以,如何走出这个瓶颈的困境,就是接下来要去探究的事情. 首先,有几个点是一定要搞清楚的 1.找到自己的兴趣所在,如果自己都不确定,可以通过职业倾向评测来了解自己喜欢做什么?是该继续在技术这条道上一条道走到黑还是换一个行业继续深造 2.认清自己的性格,因为不同的性格去做的事情也是不一样的,强迫自己往不想发展的地方前进是没有一点效果的,往往不会达到目的的.工作了两年了,你的优势是什么,有哪些东西是你最拿手的,哪些还是没有接触过的,对自己哪方面不满意,