Java 带有空文件的ArrayList
我在处理带有空字段的Arraylist时遇到问题 作为输入,我有Excel列表中的值,其中一些单元格为空(显示示例) 到目前为止,这些值都在Arraylist中。现在我有了一个切换案例,在这里我选择了要使用的Now列D。现在的问题是我不能处理空字段。因为我的输出没有空值,所以必须删除或跳过这些值。 当我尝试这样做时,我得到了一个空指针异常 下面是一些代码:Java 带有空文件的ArrayList,java,arraylist,Java,Arraylist,我在处理带有空字段的Arraylist时遇到问题 作为输入,我有Excel列表中的值,其中一些单元格为空(显示示例) 到目前为止,这些值都在Arraylist中。现在我有了一个切换案例,在这里我选择了要使用的Now列D。现在的问题是我不能处理空字段。因为我的输出没有空值,所以必须删除或跳过这些值。 当我尝试这样做时,我得到了一个空指针异常 下面是一些代码: private Arraylist<ExcelReader> el; private void doSomething() {
private Arraylist<ExcelReader> el;
private void doSomething() {
switch (chooseColumn) {
// ArrayList is loaded
//…
case “D”:
// here I want to remove the null fields
for (int c = 0; c <= el.size(); c++) {
if(el.get(c).getColumnD().isEmpty()) {
el.remove(c);
}
}
break;
// …
}
私有数组列表el;
私人无效剂量(){
开关(选择列){
//ArrayList已加载
//…
案例“D”:
//这里我想删除空字段
对于(int c=0;c您应该理解isEmpty()不检查空值。它只检查size==0或否。
因此,要检查空值,您应该检查条件getColumnD()!=nullprivate Arraylist el;
私人无效剂量(){
开关(选择列){
//ArrayList已加载
//…
案例“D”:
//这里使用removeAll删除所有空对象
el.removeAll(Collections.singleton(null));
对于(int c=0;c当然el.get(c).getColumnD().isEmpty())
如果您有null
值,则会出现问题。如果get(c)
返回null
,则可以在那里进行检查。如果el.get(c),则可能存在重复的yes值为null
如果返回空值,您可以看到副本以找到非常好的解决方案。如果不是,这将需要一些改进或条件来过滤这些内容,而不将其从列表中删除。因为这是我发布的副本,您至少可以添加答案的来源。如果没有来源和一些IM改进。另外,您忘了添加解释。现在我得到了java.lang.reflect.InvocationTargetException请共享异常堆栈跟踪我必须在一行中设置空字段,第一个字段将被删除,第二个字段将显示
private Arraylist<ExcelReader> el;
private void doSomething() {
switch (chooseColumn) {
// ArrayList is loaded
//…
case “D”:
// here I want to remove the null fields
for (int c = 0; c <= el.size(); c++) {
if(el.get(c).getColumnD().isEmpty()) {
el.remove(c);
}
}
break;
// …
}
private Arraylist<ExcelReader> el;
private void doSomething() {
switch (chooseColumn) {
// ArrayList is loaded
//…
case “D”:
// here use removeAll to remove all null object
el.removeAll(Collections.singleton(null));
for (int c = 0; c <= el.size(); c++) {
if(el.get(c).getColumnD().isEmpty()) {
el.remove(c);
}
}
break;
// …
}