This question already has answers here:
How do I compare strings in Java?
                                
                                    (23个答案)
                                
                        
                3年前关闭。
            
        

我有一个读取json文件的小程序,
天气,时间,温度,风等我需要计算平均值
从2009年到2015年的温度。
长度,大约60k。我正在尝试写一个小循环,首先
找到2009年一审的职位,然后
2009年的最后一个实例。然后我可以运行我的
平均温度循环,但是我遇到了一个问题
下面。

place将是数组的索引。但是,无论我如何运行
代码,它始终等于-1,而不是给我
数组中的索引。 if语句中的两个参数都是
字符串。

那我在做什么错?

String twozerozeronine = "2009";
int place = -1;
for (int a = 0; a < years.size(); a++){
    if (years.get(a) == twozerozeronine){
        place = 1;
        break;
    }
}
System.out.println(place);

最佳答案

years.get(a) == twozerozeronine


检查操作员左侧的对象和操作员右侧的对象是否相同。在您的情况下,它们可能相似,但永远不会完全相同。

您需要检查它们是否相似:

years.get(a).equals(twozerozeronine)

07-24 09:51
查看更多