java date是值类型还是引用类型?
DatedynamicClearStartTime=this.deleteCondition.getStartTime();DatedynamicClearEndTime...
Date dynamicClearStartTime = this.deleteCondition.getStartTime();
Date dynamicClearEndTime = this.deleteCondition.getEndTime();
if(deleteCount==1){
//从平台查询最早话单时间 作为 清理条件中的话单起始时间
this.dynamicBegin = dynamicClearStartTime;
}else{
calendar.setTime(this.dynamicEnd);
calendar.add(Calendar.SECOND, 1);
this.dynamicBegin = calendar.getTime();
}
calendar.setTime(this.dynamicBegin);
calendar.add(Calendar.DAY_OF_MONTH, this.clearInterval);
calendar.add(Calendar.SECOND,-1);
this.dynamicEnd = calendar.getTime();
this.deleteCondition.setStartTime(this.dynamicBegin);
this.deleteCondition.setEndTime(this.dynamicEnd);
经过测试,这里的deleteCondition.endTime被修改了,dynamicClearEndTime 却保持不变?请问,这个Date类型是值类型吗?还是为什么? 展开
Date dynamicClearEndTime = this.deleteCondition.getEndTime();
if(deleteCount==1){
//从平台查询最早话单时间 作为 清理条件中的话单起始时间
this.dynamicBegin = dynamicClearStartTime;
}else{
calendar.setTime(this.dynamicEnd);
calendar.add(Calendar.SECOND, 1);
this.dynamicBegin = calendar.getTime();
}
calendar.setTime(this.dynamicBegin);
calendar.add(Calendar.DAY_OF_MONTH, this.clearInterval);
calendar.add(Calendar.SECOND,-1);
this.dynamicEnd = calendar.getTime();
this.deleteCondition.setStartTime(this.dynamicBegin);
this.deleteCondition.setEndTime(this.dynamicEnd);
经过测试,这里的deleteCondition.endTime被修改了,dynamicClearEndTime 却保持不变?请问,这个Date类型是值类型吗?还是为什么? 展开
1个回答
展开全部
Date类和其他对象一样。应该属于可变的引用型吧。
你这里的问题是,如果你的setEndTime()中指向了另外一个Date对象,和之前获得dynamicClearEndTime 就没有关系的。
如果想同步改变,好像应该dynamicClearEndTime.setTime(新时间);
而不是deleteCondition.setEndTime(新对象);
你这里的问题是,如果你的setEndTime()中指向了另外一个Date对象,和之前获得dynamicClearEndTime 就没有关系的。
如果想同步改变,好像应该dynamicClearEndTime.setTime(新时间);
而不是deleteCondition.setEndTime(新对象);
追问
继续请教一个问题:这个calendar日期类,getTime是返回新的时间对象,还是只是calendar内部的一个时间引用?如果要得到多个时间(互不影响),需要创建多个calendar实例吗?
追答
Calendar类主要用来计算和管理 日期和日期之间的关系的..
getTime()每次会返回一个新的Date实例。
Calendar内部唯一的时间是依靠一个long型的时间戳微秒值,和Date差不多。
在你的类设计上用long保存时间也比用Date有更低的耦合性...
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询