ResultSet-它是什么类型的对象?

时间:2015-02-13 21:04:08

标签: java jdbc arraylist resultset memory-address

我正在迭代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吗?

感谢

2 个答案:

答案 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()实现都是正确的。