java - 在 GregorianCalendar ArrayList Java 中添加日期元素

标签 java arraylist gregorian-calendar

当我输入许多日期元素时遇到麻烦,所有其他元素都会成为我输入的最后一个日期。

父类(super class):

SimpleDateFormat sdf = new SimpleDateFormat("MMM dd yyyy");
String year = "1995", month = "12", day = "24";
GregorianCalendar startDate = new GregorianCalendar(Integer.parseInt(year), Integer.parseInt(month), Integer.parseInt(day));

public void addDate(int month, int day, int year){
    date.add(startDate);
    startDate.set(GregorianCalendar.DAY_OF_MONTH, day);
    startDate.set(GregorianCalendar.YEAR, year);
    startDate.set(GregorianCalendar.MONTH, month);
}
public String printCal(int i){
    return sdf.format(date.get(i).getTime());
}
public void addName(String newName){
    name.add(newName);
}

子类:

for(i=0; i<emp.emNum(); i++){
                System.out.println("Name: "+ emp.printName(i) + " Date Joined: " + emp.printCal(i));
            }

输出

例如,2个元素输入):

Name: John, Date Joined: December 25, 2000

Name: Peter, Date Joined: December 25, 2000

最佳答案

每次您希望添加时,您都需要创建一个 GregorianCalendar 实例。 在java中,当你向列表中添加一些东西时,你基本上只是添加了对对象的引用。如果使用 get(i) 修改它,您将修改该对象

public void addDate(int month, int day, int year){
    date.add(new GregorianCalendar(Integer.parseInt(year), Integer.parseInt(month), Integer.parseInt(day));
}

关于java - 在 GregorianCalendar ArrayList Java 中添加日期元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28812251/

相关文章:

java - Java 中向链表追加内容

Java何时捕获一般异常和特定异常

java - 基于 ArrayList 的二叉树 - Java

java - 从 XMLGregorianCalendar 中删除 "Z"部分

java - 如何在骨架实现(即类)中实现一个接口(interface),该接口(interface)的两个实例可以相互依赖,而无需向下转型?

java - 安卓蓝牙

java - 如何使用 StackMob 查询列表填充 listView

java - Kotlin 中的 List 是链表吗?

java - 公历 : Jumping from tuesday to sunday

haskell - 如何在haskell中将纪元转换为公历日期时间