我知道这个问题在这里问了很多次。实际上我也提到了其中一些,但没有能够得到解决方案所以决定在这里发布
我只是尝试将字符串值解析为整数,此时它会给出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)
我出错的地方请告诉我......谢谢
答案 0 :(得分:6)
看起来那里可能有换行符。
您是否尝试修剪字符串以删除空格?
例如:
sql_proID =的Integer.parseInt(xmldata.trim());
答案 1 :(得分:5)
看起来你得到五个单引号,这就是NullPointerException的原因。
还请检查logcat中是否存在新行。
答案 2 :(得分:4)
这是NumberFormatException
而不是NullPointerException
。它是由格式错误的数字字符串引起的,似乎是"\n5"
,而不仅仅是"5"
。
答案 3 :(得分:0)
您的代码不清晰,最新标记为:
String **xmldata**="";
int sql_proID;
xmldata = os.toString();
sql_proID=Integer.parseInt(xmldata);
您要解析 xmldata ,其值为'5'。 解析器是不可理解的。 因此,尝试将价值仅为5。