Java 如何处理处理处理表中的不完整数据?

Java 如何处理处理处理表中的不完整数据?,java,processing,Java,Processing,我正在使用Processing的表接口解析CSV,但某些行缺少一些数据。我想将所有可用数据拉入表中,但我不确定如何处理丢失的数据——当我使用dataTable.getInt循环表中缺少的值时,我会不断得到NullPointerException 我没有静态类型语言的背景,因此我不知道如何有条件地分配这些数据,除非在每个分配周围放置一个单独的try/catch。当然有更好的方法吗?在调用dataTable.getInt方法之前,请检查dataTable是否不是空的 if(dataTable !=

我正在使用Processing的
接口解析CSV,但某些行缺少一些数据。我想将所有可用数据拉入表中,但我不确定如何处理丢失的数据——当我使用
dataTable.getInt
循环表中缺少的值时,我会不断得到
NullPointerException


我没有静态类型语言的背景,因此我不知道如何有条件地分配这些数据,除非在每个分配周围放置一个单独的
try
/
catch
。当然有更好的方法吗?

在调用dataTable.getInt方法之前,请检查dataTable是否不是空的

if(dataTable != null) {
    int my_nt = dataTable.getInt

}
//else skip since it is empty

因为您使用的是getInt——所以应该执行
regex搜索/将、、替换为、
。在您的情况下,它可能很简单,只需将、、替换为、0、


此外,正如哈桑所建议的,再次检查dataTable是否为空。

好的,所以我想出了一种方法:

首先,调用
dataTable.makeNullEmpty()
,将所有空值转换为空字符串

然后,您可以使用如下模式:

String total_value = dataTable.getString(i, 4);
if(total_value.length() > 0) s.total_value = parseInt(total_value);
只有在需要解析int时,才能得到赋值