2014-02-13 65 views
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; 
} 
+0

空指針異常在哪一行?什麼呼叫? – Chiron

+0

我已更新代碼中的評論。我也相信,即使我們把這個validateCellId方法稱爲null,那麼stringutil應該小心,不應該允許進入內部如果條件。請讓我知道如果我缺少明顯的東西 –

+0

你能提供堆棧軌道嗎?您可能會忘記初始化「COUNTRY_CODE」或「Country.TEST」。 – zsxwing

回答

0

它的我的壞。 @zsxwing你是對的。我的國家沒有初始化,我應該檢查這一點,我只是放心地忽略它。謝謝