如何判断long变量是null,还是if()在Java中包含异常判断?

时间:2017-04-03 07:54:43

标签: java if-statement exception long-integer

就我而言,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();
}

2 个答案:

答案 0 :(得分:1)

使用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
}

答案 1 :(得分:0)

  

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

你的意思是结果[i] 可以为null然后检查引用是否指向null是好的,

这将完成:

results[i] == null
返回true的

是你的结果[i]为null,