0

我知道这个问题在这里问了很多次。实际上我也参考了其中一些但无法获得解决方案所以决定在这里发布

我只是想在那个时候将字符串值解析为整数,它给出了 Null 指针异常。当我尝试打印字符串的值时,我得到 5,这是正确的,但是当我在解析后打印它们的值时,它是 0。按照我尝试过的代码

String xmldata = "";
int sql_proID;
xmldata = os.toString();
sql_proID = Integer.parseInt(xmldata);

我也尝试过声明 sql_proID ,但它给出了同样的错误。以下是异常消息

01-04 17:06:14.166: W/System.err(398): java.lang.NumberFormatException: unable to parse  '
01-04 17:06:14.166: W/System.err(398): 5' as integer
01-04 17:06:14.166: W/System.err(398):  atjava.lang.Integer.parse(Integer.java:383)
01-04 17:06:14.176: W/System.err(398):  at java.lang.Integer.parseInt(Integer.java:372)
01-04 17:06:14.176: W/System.err(398):  at java.lang.Integer.parseInt(Integer.java:332)
01-04 17:06:14.176: W/System.err(398):  at com.example.anti_dui_app.Synchronization.onCreate(Synchronization.java:57)
01-04 17:06:14.176: W/System.err(398):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
01-04 17:06:14.176: W/System.err(398):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
01-04 17:06:14.176: W/System.err(398):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
01-04 17:06:14.176: W/System.err(398):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
01-04 17:06:14.176: W/System.err(398):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
01-04 17:06:14.176: W/System.err(398):  at android.os.Handler.dispatchMessage(Handler.java:99)
01-04 17:06:14.185: W/System.err(398):  at android.os.Looper.loop(Looper.java:123)
01-04 17:06:14.185: W/System.err(398):  at android.app.ActivityThread.main(ActivityThread.java:3683)
01-04 17:06:14.185: W/System.err(398):  at java.lang.reflect.Method.invokeNative(Native Method)
01-04 17:06:14.185: W/System.err(398):  at java.lang.reflect.Method.invoke(Method.java:507)
01-04 17:06:14.185: W/System.err(398):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
01-04 17:06:14.185: W/System.err(398):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
01-04 17:06:14.185: W/System.err(398):  at dalvik.system.NativeStart.main(Native Method)

我哪里出错了请告诉我...谢谢

4

4 回答 4

6

看起来那里可能有一个换行符。

您是否尝试过修剪字符串以删除空格?

例如:

sql_proID=整数.parseInt(xmldata.trim());

于 2013-01-04T11:53:08.873 回答
5

看起来你得到了五个单引号,这就是 NullPointerException 的原因。

另请检查 logcat 中是否存在新行。

于 2013-01-04T11:53:32.757 回答
4

NumberFormatException不是一个NullPointerException。这是由格式错误的数字字符串引起的,该字符串似乎"\n5"不仅仅是"5".

于 2013-01-04T11:53:32.163 回答
0

您的代码不明确,不符合以下标准:

String **xmldata**="";
int sql_proID;
xmldata = os.toString();
sql_proID=Integer.parseInt(xmldata);

在这里,您正在解析值为“5”的xmldata 。解析器无法理解。因此,尝试将值设为 5。

于 2013-01-04T11:57:30.377 回答