我正在迭代ResultSet并将其保存到ArrayList。
weatherData = Arrays.asList (
new WeatherInfo(rs.getDate(1), rs.getInt(2)...
当我做一个System.out.println(weatherData);我在Eclipse控制台中看到了这一点:
[com.example.project.view.ChartsData$WeatherInfo@66ee6cea,com.example.project.view.ChartsData$WeatherInfo@757d0531 .....
这是什么意思?这是我能用Java处理的价值吗? 这是我在Java中可以使用的实际日期和int吗?
感谢
答案 0 :(得分:4)
您需要覆盖WeatherInfo类中的toString()
方法。你看到的是它的默认实现,它显示了它的内存位置。
答案 1 :(得分:1)
这是Java中使用toString()
方法的典型模型对象。我使用了Intellij Idea(推荐!),它能够自动生成toString()
以及其他方法,例如equals()
和hashCode()
。我们发现在所有模型对象上使用这些方法对于调试和测试非常有用。
运行main()
将输出:
weatherInfo = WeatherInfo{country='CA', probablyOfPrecipitation=20}
public class WeatherInfo {
public static void main(String [] args) {
WeatherInfo weatherInfo = new WeatherInfo();
weatherInfo.setCountry("CA");
weatherInfo.setProbablyOfPrecipitation(20);
System.out.println("weatherInfo = " + weatherInfo);
}
String country;
int probablyOfPrecipitation;
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public int getProbablyOfPrecipitation() {
return probablyOfPrecipitation;
}
public void setProbablyOfPrecipitation(int probablyOfPrecipitation) {
this.probablyOfPrecipitation = probablyOfPrecipitation;
}
@Override
public String toString() {
return "WeatherInfo{" +
"country='" + country + '\'' +
", probablyOfPrecipitation=" + probablyOfPrecipitation +
'}';
}
}
热门提示!
我们使用名为EqualsVerifier
的库来保证所有equals()
和hashCode()
实现都是正确的。