java - Strange if 行为的解释

标签 java arrays file

<分区>

所以我运行了这段代码

        String line = worldRead.readLine();

        String[] aLine = line.split("");

        for (int i = 0; i < aLine.length; i++){

            System.out.println(aLine[i]);

            if(aLine[i] == "0"){

                System.out.println("Its an 0");

            }

        }

它打印文件的第一行,因为它应该一个字符一个字符地打印,但是 if 语句不起作用,我查看了 de bugger,它说 aLine[i]< 的值 当时是“0”。我不明白这种奇怪的行为。这是为什么?

最佳答案

使用 if(aLine[i].equals("0"))

== 检查对象,而 equals 比较值

关于java - Strange if 行为的解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16886059/

相关文章:

java - 序列化 ENUM 单例

java - jtable 中自动附加的额外列(如何删除它)

java - 从 IgniteCache 获取 key

javascript - 根据对象的值过滤对象数组

python - recarray 中的 numpy datetime64

c - 如何以优化方式加载更大的文本文件到缓冲区--c程序

java - android 读取多个txt文件并整理出来

java - 无法在 Android O 中构建 NotificationCompat.Builder

java - java 是否应该允许将类名定义为与泛型类型参数相同?

php - 如何创建具有键值对的数组?