ResultSet - 它是啥类型的对象?

Posted

技术标签:

【中文标题】ResultSet - 它是啥类型的对象?【英文标题】:ResultSet- What kind of object is it?ResultSet - 它是什么类型的对象? 【发布时间】:2015-02-13 21:04:08 【问题描述】:

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

谢谢

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

这是一个典型的 Java 模型对象,带有 toString() 方法。我使用了 Intellij Idea(推荐!),它能够自动生成 toString() 和其他方法,例如 equals()hashCode()。我们发现在所有模型对象上使用这些方法对于调试和测试非常有用。

运行main()会输出:weatherInfo = WeatherInfocountry='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() 的实现都是正确的。

【讨论】:

也谢谢你,@Matt Friedman。我在 Eclipse 中使用了“Generate toString()”方法(Source tab-> Generate toString()。这对我有用。

以上是关于ResultSet - 它是啥类型的对象?的主要内容,如果未能解决你的问题,请参考以下文章

ResultSet rs=super.executeQuery(sql, params); params是啥?

java中 String strurl; Connection conn; Statement stmt; ResultSet rs;是啥意思

关于对ResultSet 中next() 方法的描述及用法是啥啊

java 读取clob

jsp中rt.next()指的是啥?还有rs.next()与rt.next()有啥区别?一直不太清楚

在ResultSet.execute之后循环终止[重复]