final DateFormat dateFormat = DateFormat.getDateTimeInstance() ;
GregorianCalendar time = new GregorianCalendar();
GregorianCalendar limit = time;
limit.add(GregorianCalendar.HOUR_OF_DAY, 4);
String timeForm = dateFormat.format(time.getTime());
String limitForm = dateFormat.format(limit.getTime());
System.out.println(timeForm);
System.out.println(limitForm);
Выход должен быть временем «сейчас», после которого следует время через 4 часа.Когда я меняю один экземпляр GregorianCalendar, меняет другой экземпляр
Когда он распечатывается, как timeForm, так и limitForm показывают время после 4 часов. Почему это?
Там только один экземпляр. Переменная не является экземпляром, это ссылка на одну. 'GeorgianCalendar limit = time;' не создает новый экземпляр 'GeorgianCalendar', он просто сообщает' limit' ссылаться на тот же объект, на который ссылается 'time'. –