Tsu*_*aze 1 java int null android
当我在网上下载数据时,有时它会起作用,有时它却不起作用.我的问题在于int:运行时:""
运行时是一个int,当我使用gson时,它可能会导致此问题:
01-07 21:22:57.602: E/AndroidRuntime(2726): Caused by: java.lang.NumberFormatException: Invalid int: ""
Run Code Online (Sandbox Code Playgroud)
我尝试了一些if语句,但它不起作用.
public int getRuntime() {
if(Integer.valueOf(runtime)==null){
return 0;
}else{
return runtime;
}
}
Run Code Online (Sandbox Code Playgroud)
甚至
public int getRuntime() {
if(Integer.valueOf(runtime).equals(null)){
return 0;
}else{
return runtime;
}
}
Run Code Online (Sandbox Code Playgroud)
但没有任何作用.
Integer.valueOf()需要一个表示整数的String.使用空字符串调用它将导致异常.在将其解析为整数之前,您需要测试String:
int runtime;
if ("".equals(string)) {
runtime = 0;
}
else {
runtime = Integer.parseInt(string);
}
Run Code Online (Sandbox Code Playgroud)
或者,如果您始终希望运算符为0(如果字符串不是有效整数),则捕获异常:
try {
runtime = Integer.parseInt(string);
}
catch (NumberFormatException e) {
runtime = 0;
}
Run Code Online (Sandbox Code Playgroud)
现在,它是为你解析字符串的gson,并且这个字符串并不总是一个整数,那么runtime字段不应该是int,而是字符串.你应该自己解析它,如上所示.
鉴于您的问题,在尝试使用gson和android做任何事情之前,您应该学习Java语言的基础知识.您似乎不了解Java中的类型系统以及有哪些例外.阅读http://docs.oracle.com/javase/tutorial/java/nutsandbolts/
| 归档时间: |
|
| 查看次数: |
3563 次 |
| 最近记录: |