2014-04-23 133 views
1

我想獲得一個字符串並將它轉換成一個長我一直怎麼過讓上述java.lang.NumberFormatException輸入字符串「」

public long[] stringToLongDecrypt() 
{ 
    long ciphertext[] = new long[elements.length]; 
    for(int i=0; i<ciphertext.length; i++) 
    { 
     ciphertext[i] = Long.parseLong(elements[i].trim(), 16); 
    } 
    return ciphertext; 
} 

任何想法提到的錯誤?

+0

這是正確的行爲。你想從空串中得到什麼? – Braj

回答

1

你必須解析,只有一個有效的數字,空字符串""是不是一個有效的數字。所以,你必須在解析它之前檢查它。否則,您將獲得NumberFormatException

public long[] stringToLongDecrypt() { 
    long ciphertext[] = new long[elements.length]; 
    for(int i=0; i<ciphertext.length; i++) { 
     if(elements[i] != null && !elements[i].trim().isEmpty()) { 
      ciphertext[i] = Long.parseLong(elements[i].trim(), 16); 
     } 
    } 
    return ciphertext; 
} 
0

Long無法解析String數據類型的輸入。 請嘗試使用以下內容代替:

Long.valueOf(elements[i].trim()).longValue(); 
+3

無論你做什麼,解析或valueOf,你不能將空字符串轉換爲數字。 –

+1

@Lesya發佈之前是否測試過它? – Braj

相關問題