Я хочу новый экземпляр, который является копией.Я мог бы создать экземпляр из целых чисел, но, похоже, должен быть более прямой путь.Я мог бы также использовать некоторый подход, такой как copy = original.minus(zero)
, но это также косвенный подход.
Конструктор LocalTime, который принимает аргумент Java Object (для которого я использовал исходный LocalTime), не работает.Я думаю, он просто не поддерживает его.
LocalTime start = new LocalTime(9, 0, 0);
LocalTime stop = new LocalTime(17, 0, 0);
//LocalTime time = start.minusSeconds(0); // GOOD VERSION
LocalTime time = new LocalTime(start); // THE BAD VERSION
assert time == start: "does not work";
// EXTRANEOUS STUFF TO JUSTIFY COPYING AN IMMUTABLE, FOLLOWS...
while (time.compareTo(stop) <= 0)
{
//method(time, new LocalTime(9, 0, 0), stop); // MESSY
method(time, start, stop); // NICER
time = time.plusMinutes(1);
}
Я также пытался copy = new LocalTime(original.getLocalMillis())
, но у меня нет доступа к getLocalMillis
, поскольку он защищен.