gpt4 book ai didi

java - 分配日历值的问题

转载 作者:行者123 更新时间:2023-11-29 19:30:46 25 4
gpt4 key购买 nike

我有这样的问题:

我在主要 Activity 中有日历对象:

public static Calendar today = Calendar.getInstance();

在我的第二个 Activity 中,我需要设置几个闹钟,所以我接下来做了:

for(int i = 0; i < alarmCounter; i++){
Calendar calendar = MainActivity.today;

calendar.set(Calendar.HOUR_OF_DAY, alarmHours.get(i));
calendar.set(Calendar.MINUTE, alarmMinutes.get(i));
calendar.set(Calendar.SECOND, 0);

if (calendar.getTimeInMillis() <= System.currentTimeMillis()) {
calendar.add(Calendar.DAY_OF_YEAR, 7);
}
}

但是当 if 条件满足并且 7 天被添加到 calendar 时,这 7 天也被添加到 MainActivity.today。为什么会这样?我该如何解决?

保存 MainActivity.today 的值对我来说很重要,因为我用另一种方法更改了它的值,它并不总是等于当前日期。

最佳答案

这是一个内存指针问题。

calendarMainActivity.today 都指向同一个 Calendar 实例。

如果你想让它们分开,你可以使用 clone()方法:

Calendar calendar = (Calendar)MainActivity.today.clone(); 

关于java - 分配日历值的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39995157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com