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