Java 为什么解析为整数时会出现异常?
我不明白为什么这个Integer.parseInt会出现异常,它是NullpointerExceptionJava 为什么解析为整数时会出现异常?,java,android,Java,Android,我不明白为什么这个Integer.parseInt会出现异常,它是NullpointerException try { int numberOfPictures = Integer.parseInt(editTextNumberOfGames .getText().toString()); Toast toast =Toast.makeText(getBaseContext(), "ratt", Toast.LENGTH_SHOR
try
{
int numberOfPictures = Integer.parseInt(editTextNumberOfGames
.getText().toString());
Toast toast =Toast.makeText(getBaseContext(), "ratt", Toast.LENGTH_SHORT);
toast.show();
} catch (Exception e)
{
Toast toast =Toast.makeText(getBaseContext(), "fel", Toast.LENGTH_SHORT);
toast.show();
}
由于
editTextNumberOfGames
为空,它会抛出一个expecption
正确初始化editTextNumberOfGames,或者无论出于何种原因,您无法对其进行初始化,那么它将被初始化
int numberOfPictures;
if (editTextNumberOfGames != null) {
numberOfPictures = Integer.parseInt(editTextNumberOfGames.getText());
}
当您使用此代码时,是否使用调试器验证editTextNumberOfGames是否不为null 您可以临时分解Integer.parseInt(editTextNumberOfGames.getText().toString())语句,以查看复合语句的哪个部分导致了异常
正如ratchet freak在评论中指出的那样,我没有这样做: editTextNumberOfGames=(EditText)findViewById(R.id.editTextNrOfPictures)
感谢所有帮助。editTextNumberOfGames是否已初始化?检查editTextNumberOfGames.getText().toString()返回的是什么堆栈跟踪?是空指针异常还是NUmberFormatException?停止接受异常,在
catch{}
块中执行e.printStackTrace()
,然后检查这些日志或为我们提供它们。@ratchetfreak:我在findViewById中没有找到它。。。。感谢getText()
将永远不会返回null
。他的对象名为editTextNumberOfGames
,我们正在使用Android。你真的认为这不是一个EditText
?我的答案完全正确,他没有正确初始化他的editTextNumberOfGames。正如我写给你的“或者最好正确初始化editTextNumberOfGames。”看到我的答案了吗