Java 复制时间戳对象';s值到另一个对象

Java 复制时间戳对象';s值到另一个对象,java,object,time,calendar,timestamp,Java,Object,Time,Calendar,Timestamp,我在Java.sql.Timestamp对象(variable->confirmedDeliveryDate)中有一个日期,我想创建一个不同的对象并在其中添加几天。我创建了ts作为一个不同的时间戳变量,并使用了以下逻辑。我能够成功添加天数。但一旦ts更新为新时间,confirmedDeliveryDate也会更新为新日期。当我为ts创建了一个新对象时,为什么要更新confirmedDeliveryDate。请为同样的问题提出解决方案 Timestamp ts = new

我在Java.sql.Timestamp对象(variable->confirmedDeliveryDate)中有一个日期,我想创建一个不同的对象并在其中添加几天。我创建了ts作为一个不同的时间戳变量,并使用了以下逻辑。我能够成功添加天数。但一旦ts更新为新时间,confirmedDeliveryDate也会更新为新日期。当我为ts创建了一个新对象时,为什么要更新confirmedDeliveryDate。请为同样的问题提出解决方案

            Timestamp ts = new Timestamp(0L);

            ts=confirmedDeliveryDate;

            Calendar cal = Calendar.getInstance();
            cal.setTime(ts);
            cal.add(Calendar.DAY_OF_WEEK, 5);
            ts.setTime(cal.getTime().getTime());
            ts = new Timestamp(cal.getTime().getTime());
通过编码

        ts=confirmedDeliveryDate;
您丢弃了新创建的时间戳,并将其替换为对
confirmedDeliveryDate

因此,现在ts和confirmedDeliveryDate是一个且相同的,通过对其中一个调用setTime,两个变量名(引用相同的对象)的值都将更改

试着这样做:

        Calendar cal = Calendar.getInstance();
        cal.setTime(confirmedDeliveryDate );
        cal.add(Calendar.DAY_OF_WEEK, 5);

        Timestamp ts = new  Timestamp(cal.getTime().getTime());

谢谢是的,我也犯了同样的错误。