java - 字符串比较抛出 NullPointerException

标签 java arrays string comparison nullpointerexception

我有一个名为字母字符串数组。当我尝试执行以下代码行时,出现 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/

相关文章:

java - 正确处理异常

arrays - 算法:给定一个数字数组 A,创建一个数组 B,其中 B[i] = sum(A[j]: A[j] <= A[i])

arrays - 使用数组键进行哈希到哈希的简单哈希

C++链表不显示String类型变量

regex - Hive:基于反斜杠的字符串拆分\

java - 在一行中调整图像和文本

java - 插入、删除(快速)blob 嵌入式 java 数据库

arrays - (bash) 如何访问作为离散数组元素的命令输出 block ?

java - 如何删除neo4j图数据库

java - Spring:H2 数据库持久化