我有一个名为字母
的字符串
数组。当我尝试执行以下代码行时,出现 NullPointerException
。
if(letters[j].equals(tmpst))
其中j
是小于字母
长度的任意索引
tmpst
是一个字符串,定义如下:
char myChar = theWord.charAt(i);
String tmpst = String.valueOf(myChar);
其中 theWord
是长度大于 4 的任意字符串。
完整代码为:
for (int i = 0; i < theWord.length(); i++) {
for (int j = 0; j < letters.length; j++) {
char myChar = theWord.charAt(i);
String tmpst = String.valueOf(myChar);
if(letters[j].equals(tmpst)) {
System.out.println("YOU DIDIT!!! :D");
newWord = newWord + theWord.charAt(i);
}
}
有人能看出我做错了什么吗?
谢谢。
最佳答案
您的数组似乎包含一些空引用。您可以使用 Arrays.toString(letters) 来查看它是否正确。
如果您希望即使数组包含空值,比较仍然有效,您应该将代码更改为如下所示:
if(tmpst.equals(letters[j]))
关于java - 字符串比较抛出 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12831958/