如何在插入元素时避免在ArrayList中插入空值?
ArrayList<String> al=new ArrayList<String>();
al.add(null);//should avoid
.
.
.
al.add("Ramesh");
答案 0 :(得分:2)
避免null
有时会有害,它可能会隐藏可能的错误。
如果您担心在某个阶段获得NullPointerException
,则只需检查ArrayList
中存储的项目是否为null
。
您不能禁止将null
插入ArrayList
。
答案 1 :(得分:0)
您可以创建自己的ArrayList-Class(从原始派生)并覆盖Add-Method
然后你可以在添加时检查null。
@Override
public boolean add(E e) {
if (e == null) return false;
else return super.add(e)
}
正如Mark在评论中所说,您可能希望覆盖添加值的所有其他可能性。 (see the doc)
答案 2 :(得分:0)
你可以尝试类似的东西,但是如果你想要完全按照你的尝试去做,你必须在add()
课程中重写ArrayList
。使用此验证可以避免null
public static void main(String[] args) {
ArrayList<String> al=new ArrayList<String>();
al=add(al,null);
al=add(al,"Ramesh");
al=add(al,"hi");
}
public static ArrayList<String> add(ArrayList<String> al,String str){
if(str!=null){
al.add(str);
return al;
}else {
return al;
}
}
在这种情况下,您必须调用自定义add
方法来添加元素
答案 3 :(得分:0)
ArrayList<String> al = new ArrayList<String>() {
@Override
public boolean add(String s ) {
if( s != null ) {
return super.add( s );
}
return false;
}
};
al.add(null);
al.add("blabla");