Я пытаюсь найти чистый и эффективный код для преобразования Optional<Integer>
в Optional<Long>
. Я работаю на Java 7 с Guava.
Итак, в одном месте в коде у меня есть необязательное целое число, созданное
Optional<Integer> optionalInt = Optional.fromNullable(someInt);
И в другой области мне это нужно как необязательное. Самое приятное, что я мог придумать:
Optional<Long> optionalLong = optionalInt.transform(new Function<Integer, Long>() {
@Override
public Long apply(Integer inputInt) {
if (inputInt != null)
return inputInt.longValue();
else
return null;
}
});
Но это громоздко, особенно если вы считаете, насколько легко было использовать тип, когда я использовал примитивные типы.
Какие-нибудь хорошие идеи?