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

ResultSet- What kind of object is it?

我正在遍历 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 中使用的实际日期和整数吗?

谢谢

您需要覆盖 WeatherInfo class 中的 toString() 方法。您看到的是它的默认实现,显示了它的内存位置。

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