2015-02-13 1 views
0

Я повторяю ResultSet и сохраняю его в ArrayList.ResultSet- Что это за объект?

weatherData = Arrays.asList (
        new WeatherInfo(rs.getDate(1), rs.getInt(2)... 

Когда я делаю System.out.println (weatherData); Я вижу это в консоли Eclipse:

[[email protected], [email protected] .....

Что значит ли это? Это значение, которое я могу обрабатывать на Java или нет? Является ли это фактической датой и int, которую я могу использовать в Java?

благодарит

ответ

4

Вам необходимо переопределить toString() метод в классе WeatherInfo. То, что вы видите, это его реализация по умолчанию, которая представляет его местоположение памяти.

+0

спасибо, все прошло. – NQuant

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 + 
       '}'; 
    } 
} 

Top Tip! Мы используем библиотеку под названием EqualsVerifier, чтобы гарантировать, что все версии equals() и hashCode() верны.

+0

Спасибо, @Matt Friedman. Я использовал метод «Создать toString()» в Eclipse (вкладка «Источник» -> «Создать toString»). Это сработало для меня. – NQuant