将结果集中的日期插入到arraylist中

时间:2015-07-05 08:32:40

标签: java arraylist

ResultSet rs=ps.executeQuery();  
List<<DATE>> days = new ArrayList<DATE>();  
while(rs.next()) {  
   unavailable_days.add(rs.getDate(1));  
}

我有一个Prepared Statement查询,我将其存储在ResultSet中。结果集由两列组成,第一个索引日期,第二个索引 - 一个Id。

我想从结果集中获取日期并将其存储在数组或arraylist中。 但是尝试这个coode我在.add下得到一个错误,它说&#34;类型List中的方法add(DATE)不适用于参数(Date)&#34;

请帮助..

2 个答案:

答案 0 :(得分:3)

rs.getDate()返回java.sql.Date的实例。您的列表需要DATE个对象(请注意Java区分大小写)。

你需要:

import java.sql.Date; // or import.java.util.Date;
...
List<Date> days = new ArrayList<>();  

请注意,rs.getDate()会返回java.sql.Date,这是java.util.Date的子类。

答案 1 :(得分:0)

假设date是您定义的Class,其中包含java.sql.Date日期字段;

List<DATE> days = new ArrayList<DATE>(); 

while(rs.next()) {  
    DATE d=new DATE();
    d.setDate(rs.getDate(1)); 
    days.add(d); 
}