Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何避免ArrayList中的空插入?_Java - Fatal编程技术网

Java 如何避免ArrayList中的空插入?

Java 如何避免ArrayList中的空插入?,java,Java,插入元素时如何避免在ArrayList中插入空值 ArrayList<String> al=new ArrayList<String>(); al.add(null);//should avoid . . . al.add("Ramesh"); 您可以创建自己的ArrayList类,该类派生自原始类并重写Add方法 然后,您可以在添加时检查null @Override public boolean add(E e) { if (e == null) return f

插入元素时如何避免在ArrayList中插入空值

ArrayList<String> al=new ArrayList<String>();
al.add(null);//should avoid
.
.
.
al.add("Ramesh");

您可以创建自己的ArrayList类,该类派生自原始类并重写Add方法 然后,您可以在添加时检查null

@Override
public boolean add(E e) {
  if (e == null) return false;
  else return super.add(e)
}
正如Mark在评论中所说的,您可能也希望覆盖添加值的所有其他可能性

附录e 附加索引,E元素 addAllCollection c 添加索引,集合c setint索引,E元素 避免null有时是有害的,它可能隐藏可能的bug

如果您担心在某个阶段出现NullPointerException,只需检查存储在ArrayList中的项是否为null即可


您不能禁止将null插入ArrayList。

您可以尝试类似的操作,但如果您想完全执行您正在尝试的操作,则必须重写ArrayList类中的外接程序。使用此验证可以避免null


在这种情况下,您必须通过不写入al.addnull来调用自定义add方法来添加元素

。如果在循环中发生这种情况,并且元素可能为null,则在插入ArrayList之前,在内部进行If检查以确保元素不为null。这是一个不成熟的解决方案。那么addAll和所有其他改变列表的方法呢?还有listIterator及其add和set方法。。。这当然比初学者的水平高了很多,这是一个初学者的问题。公共void addint index,E元素怎么样?嘿,我有addint index,E元素。但是你是对的——也许这不是最好的方法,特别是如果你是java初学者……没错。OP似乎忽略了他的问题。你能不能通过避免null给出错误示例?@KugathasanAbimaran假设你在对ArrayList执行某些操作后插入字符串。现在假设在某个时刻,您未能对字符串执行某些操作,结果返回null。如果你不插入它,你可能会认为所有的字符串都很好。扩展类对我来说更性感。。无论如何,您不需要返回arraylist的实例。或者至少每次使用al=add。只要加上艾尔。。
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");
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");