这是我在这里发表的第一篇文章,但在写作之前我做了很多研究。我尝试使用String.equals()
比较字符串,并且(使用正确的数据)比较正在评估true
。我甚至扔了一个布尔值来检查它。但是,它不是执行If块的内容,而是退出For循环并返回null:
public WeatherInfo getWeather (Date date, ArrayList<WeatherInfo> weather) {
SimpleDateFormat sdf = new SimpleDateFormat("MMM dd yyyy");
String eventDate = sdf.format(date);
for (WeatherInfo w : weather) {
Date wDate = new Date(w.getEpoch() * 1000);
String weatherDate = sdf.format(wDate);
if (weatherDate.equals(eventDate)) {
return w;
}
}
return null;
}
任何人都知道可能导致这种情况发生的原因是什么?
PS。这里是True评估时相关变量的屏幕截图(test是check boolean)