当我将字符串转换为int时,应用程序崩溃

时间:2014-05-15 12:08:08

标签: java android string

我使用二维数组,并假设我想在特定元素中将字符串转换为int 像arr[0][1]="12";那样。我正在使用这个

int id=0; String[][] description=new String[obj.length][]; 
String[] temp; 
for(int i=0; i<obj.length; i++) { 
   da[i]=obj[i].toString(); temp=da[i].split(","); 
   description[i]=new String[temp.length]; 
   for(int j=0; j<temp.length; j++) {
        // id=new String[temp.length]; 
      description[i][j]=temp[j];
      if(j==0) { 
      try { 
          id=Integer.parseInt(description[i][j]); 
      } 
      catch(NumberFormatException nfe) { // Log exception. } 
      //id=Integer.parseInt(description[i][j].toString());
     Toast.makeText(getApplicationContext(),id, Toast.LENGTH_SHORT).show();
   } 
}

但它给出了空指针异常。

1 个答案:

答案 0 :(得分:0)

检查它是否为null然后转换为整数:

    try { 
             if(description[i][j]!=null && description[i][j].length()>0){
              id=Integer.parseInt(description[i][j]); 
              Toast.makeText(getApplicationContext(),id, Toast.LENGTH_SHORT).show();
    }
          } 

而不是

try { 
          id=Integer.parseInt(description[i][j]); 
      } 

我希望它的工作,但 description [i] [j]必须返回字符串

如果id获取值,则打印toast.otherwise没有吐司打印..