public static Duration<ClockUnit> ofClockUnits(
        int hours,
        int minutes,
        int seconds
    ) {

        List<Item<ClockUnit>> items = new ArrayList<>(3);

        if (hours != 0) {
            items.add(Item.of(hours, HOURS));
        }

        if (minutes != 0) {
            items.add(Item.of(minutes, MINUTES));
        }

        if (seconds != 0) {
            items.add(Item.of(seconds, SECONDS));
        }

        return new Duration<>(items, false);

    }
public static Duration < ClockUnit > ofClockUnits ( int hours , int minutes , int seconds ) { List < Item < ClockUnit > > items = new ArrayList < > ( 3 ) ; if ( hours != 0 ) { items . add ( Item . of ( hours , HOURS ) ) ; } if ( minutes != 0 ) { items . add ( Item . of ( minutes , MINUTES ) ) ; } if ( seconds != 0 ) { items . add ( Item . of ( seconds , SECONDS ) ) ; } return new Duration < > ( items , false ) ; }
/*[deutsch]
<p>Erzeugt eine positive Zeitspanne in Stunden, Minuten und
Sekunden. </p>

<p>Alle Argumente d&uuml;rfen nicht negativ sein. Ist ein Argument
gleich {@code 0}, wird es ignoriert. Wird eine negative Zeitspanne
gew&uuml;nscht, kann auf dem Ergebnis einfach {@code inverse()}
aufgerufen werden. </p>

@param   hours       amount in hours
@param   minutes     amount in minutes
@param   seconds     amount in seconds
@return  new duration
@throws  IllegalArgumentException if any argument is negative
@see     #inverse()