我正在尝试检索ArrayList的第一个索引,我无法弄清楚语法。
DateSet类的代码段
public class DateSet {
public List<Date> dates;
public DateSet() {
this.dates = new ArrayList<Date>();
}
public void add(Date date) {
if (this.dates.contains(date)) {
return;
}
this.dates.add(date);
}
public static void main(String args []) {
DateSet setty = new DateSet();
Date date = new Date("test");
setty.add(date);
setty.get(0); // < doesn't work
}
日期分类的片段:
public class Date {
String date;
// constructor for date class
public Date(String date) {
this.date = date;
}
}
我认为,由于我正在创建类型为Date
的对象“日期”并将其添加到ArrayList中,因此我需要通过在日期内部调用String来以某种方式调用它,但我不太确定如果是这样/如何做。
在此先感谢您的帮助!
答案 0 :(得分:1)
您需要首先获取对dates
对象的引用。
更改
setty.get(0);
到
setty.dates.get(0);
或以下内容以字符串形式获取日期:
setty.dates.get(0).date
然后将其保存到变量或打印为:
System.out.println(setty.dates.get(0).date);
但是您应该使用getters / setters。
另外,除非您在this.dates.contains(date)
类中覆盖equals()
和hashcode()
,否则Date
将不起作用。而且,如果您不希望重复,则应使用Set
而不是List
。