如何判断长变量是空的,或者 if() 可以在 Java 中包含异常判断



就我而言,HBase 表中可能不存在results[i],因此使用 getTimestamp() 获取results[i]'s时间戳可能会导致异常。HBase 中的时间戳是一个长变量,因此我尝试的两种方法不起作用。

if((results[i].listCells().get(0).getTimestamp()) != null){
    rowkeytime = results[i].listCells().get(0).getTimestamp();
}
if(((Long)(results[i].listCells().get(0).getTimestamp())) != null){
    rowkeytime = results[i].listCells().get(0).getTimestamp();
}

我想知道 Java 中是否有如下用法?

if ((results[i].listCells().get(0).getTimestamp()) throws an exception){
    rowkeytime = results[i].listCells().get(0).getTimestamp();
}

使用 try-catch 处理异常:

try {
    results[i].listCells().get(0).getTimestamp();
} catch (NullPointerException e) {
    // Do something if an exception is thrown
}

在您的方案中,最好事先检查您的输入。

if (results != null && results.length >= i - 1) {
    results[i].listCells().get(0).getTimestamp();
    // You may want to add additional checks for
    // the return values of listCells() and get(0)
} else {
    // Do something else
}

。就我而言,结果[i]可能不存在...

你的意思是结果[i]可以是空的,那么最好检查引用是否指向空,

这将按以下方式完成:

results[i] == null

返回 true 是你的结果 [i] 为空,

最新更新