java - 二维数组,对 Null 元素使用 get 方法,有一个优雅的解决方案吗?

标签 java arrays arraylist multidimensional-array nullpointerexception

如何检查 2D ArrayList 中的元素是否为 null,而不出现空指针异常? 为了清楚起见,我将定义以下内容:

List<String> innerList = new ArrayList()<>;
List<List<String> outerList = new ArrayList()<>;

我想在外部列表上使用 .get() 来提取内部列表。 问题是,一旦我在 null 元素上使用 .get() 方法,它就会出现空指针异常。 我的目标是检查outerList 中的元素是否为空,如果是,则执行某些操作。如果它不为空,则执行其他操作。我无法检查元素是否为空,因为我必须使用 .get() 因为它是二维的,这是我当前的问题。 示例代码:

List<List<String>> outerList = new ArrayList()<>;


    if(outerList.get(indexOfANullElement).isEmpty()){
        //do something...
    }

一旦对空元素使用 .get() 方法,它就会自动给我一个空指针。我无法包装它,因为我必须首先使用 .get() 引用辅助列表,它会自动返回 null。

最佳答案

哪里出了问题

List<String> innerList = outerList.get(index);
if (innerList == null)

含义:在调用检索到的列表上的方法之前,您可以轻松检查它是否为空。

为了获得更具体的建议,我们需要查看您的更多代码。

关于java - 二维数组,对 Null 元素使用 get 方法,有一个优雅的解决方案吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51625079/

相关文章:

c++ - 计算数据计划的最优价格

php - 使用php对特定值的数组进行排序

java - Java Array 列表 trimToSize() 方法是否多余?

java - 如何在Java中打印字符串的一部分

java - "local variable uninitialized"测试无效时出错

java.lang.ClassNotFoundException : org. hibernate .cfg.Configuration

javascript - 如何在 JavaScript 中将给定矩阵顺时针旋转一个元素

python - 如何添加Python列表的所有元素

java - java中的serialVersionUID是什么,通常在异常类中?

java - 从整个本体中检索实例的同义词