Java 将日期从resultset插入arraylist ResultSet rs=ps.executeQuery(); 列表天数=新建ArrayList(); while(rs.next()){ 不可用天数。添加(rs.getDate(1)); }

Java 将日期从resultset插入arraylist ResultSet rs=ps.executeQuery(); 列表天数=新建ArrayList(); while(rs.next()){ 不可用天数。添加(rs.getDate(1)); },java,arraylist,Java,Arraylist,我有一个准备好的语句查询,我将其存储在ResultSet中。结果集由两列组成,第一列为索引日期,第二列为索引Id 我想从结果集中获取日期并将其存储在数组或arraylist中。 但尝试此方法时,我在.add下收到一个错误,该错误表示“类型列表中的方法add(DATE)不适用于参数(DATE)” 请帮助..rs.getDate()返回java.sql.Date的实例。您的列表需要DATE对象(注意Java是区分大小写的) 你需要: ResultSet rs=ps.executeQuery();

我有一个准备好的语句查询,我将其存储在ResultSet中。结果集由两列组成,第一列为索引日期,第二列为索引Id

我想从结果集中获取日期并将其存储在数组或arraylist中。 但尝试此方法时,我在.add下收到一个错误,该错误表示“类型列表中的方法add(DATE)不适用于参数(DATE)”

请帮助..

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

你需要:

ResultSet rs=ps.executeQuery();  
List<<DATE>> days = new ArrayList<DATE>();  
while(rs.next()) {  
   unavailable_days.add(rs.getDate(1));  
}
import java.sql.Date;//或import.java.util.Date;
...
列表天数=新建ArrayList();

请注意,
rs.getDate()
返回一个
java.sql.Date
,它是
java.util.Date

的子类,假设Date是您定义的类,其中包含java.sql.Date字段

import java.sql.Date; // or import.java.util.Date;
...
List<Date> days = new ArrayList<>();  
List days=new ArrayList();
while(rs.next()){
日期d=新日期();
d、 设置日期(rs.getDate(1));
增加(d);
}

java.sql.Date不等于日期对象。因此,您需要将该日期更改为java.sql.DATE对象列表。能否显示类的代码
DATE
?在Eran的回答中添加:您必须将
java.sql.Date
转换为
Date
。了解它的代码使我们能够帮助您进行转换。此外,由于某种原因,
列表中有双尖括号…@JonSkeet抱歉,这是一个书写错误。使用Java.sql.Date类很有效,谢谢大家。
List<DATE> days = new ArrayList<DATE>(); 

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