0
我不確定是否面臨奇怪的空指針問題,如下所示。有人可以請幫我在這下面的代碼StringUtils.isNotEmpty(str)在hadoop集羣數據驗證上似乎無法正常工作
if ((COUNTRY_CODE.equalsIgnoreCase(Country.TEST.name())) && (strCellId.matches("[0-9]*")))
在日誌文件(按行號)投擲空指針。唯一有問題的代碼是我可以看到的是strCellId.matches("[0-9]*")
如果strCellId
爲空
但是,StringUtils.isNotEmpty(strCellId)
在我們進入if條件之前已經調用。請參閱條件
public static boolean validateCellId(String strCellId)
{
if (StringUtils.isNotEmpty(strCellId)) {
//here the nullpointer is coming
if ((COUNTRY_CODE.equalsIgnoreCase(Country.TEST.name())) && (strCellId.matches("[0-9]*"))) {
return true;
}
}
return false;
}
空指針異常在哪一行?什麼呼叫? – Chiron
我已更新代碼中的評論。我也相信,即使我們把這個validateCellId方法稱爲null,那麼stringutil應該小心,不應該允許進入內部如果條件。請讓我知道如果我缺少明顯的東西 –
你能提供堆棧軌道嗎?您可能會忘記初始化「COUNTRY_CODE」或「Country.TEST」。 – zsxwing