首页天道酬勤java强制类型string转换int,java中字符串比较

java强制类型string转换int,java中字符串比较

张世龙 05-06 00:34 69次浏览

而不是创建自己的功能来使用try-catch的内置结构。 您的问题是调用jsonarray或JSONarray.getjsonobject(I )或值本身为null且为null引用的方法。 尝试以下操作:

int block_id=0; //this set ' sthe block _ idto0asa default。

try {

lock _ id=integer.parseint (JSON array.getjsonobject (I ).getstring('block_id ' ) )//thiswillsetblock _ idinobjeck

}catch(exceptione ) };

Java异常用于标记意外情况。 例如,将非数字字符串解析为数值(NumberFormatException )或调用NullPointerException上的方法。 可以用很多方法捕捉。

try{

//some代码

}苹果铅笔)。

e.print stack trace (//very important-handlestheexceptionbutprintstheinformation!

}catch(nullpointerexceptione2) )

e .打印堆栈跟踪(;

}

或者用这个事实,他们都扩展异常:

try {

//some代码

}catch(exceptione ) {

e .打印堆栈跟踪;

(;

或从Java 7开始:

try {

//some代码

} catch (nullpointerexception )

e .打印堆栈跟踪;

(;

注意

请仔细阅读答案。 请记住,堆栈溢出要求最小、完成和验证扩展。 这包括你异常的堆栈跟踪。 对于你,那个可能从以下开始:

exceptioninthread ' main ' Java.lang.nullpointerexception

调试变得简单。 不,只是推测。

编辑:根据接受的答案

我的回答很好。 使用key:block_id保存的值是数字,因此需要长时间工作。 如果不是数字,APP应用程序就会崩溃。

相反:

jsonobjectjobj=JSON array.getjsonobject (I;

intblock_id=jobj.has('block_id '? jobj.getint(block_id ) ) : 0;

应该使用:

int block_id;

try{

jsonobjectjobj=JSON array.getjsonobject (I;

block_id=jobj.Has('block_id '? jobj.getint(block_id ) ) : 0;

} catch (JSON exception ) )

e .打印堆栈跟踪(;

}

,