This question already has answers here:
How do I compare strings in Java?
(23个答案)
3年前关闭。
我有一个读取json文件的小程序,
天气,时间,温度,风等我需要计算平均值
从2009年到2015年的温度。
长度,大约60k。我正在尝试写一个小循环,首先
找到2009年一审的职位,然后
2009年的最后一个实例。然后我可以运行我的
平均温度循环,但是我遇到了一个问题
下面。
代码,它始终等于-1,而不是给我
数组中的索引。
字符串。
那我在做什么错?
检查操作员左侧的对象和操作员右侧的对象是否相同。在您的情况下,它们可能相似,但永远不会完全相同。
您需要检查它们是否相似:
(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)