У вас есть два вопроса: существует ли лучший способ написания кода и есть более краткий способ написания кода.
Что касается более кратких , это может работать:
public static String getFooStr(String input) {
Foo foo = lookup(input);
return foo == null ? null : foo.getFooStr();
}
Относительно лучше : я ценю удобочитаемость по краткости в любой день и с большим отрывом. Ваш оригинальный код выглядит хорошо для меня. Важно то, что выглядит хорошо для вас, и что вам легче понять и отладить через 3 месяца. Я слышал, кто-то сказал это лучше всего - напишите свой код, чтобы его легко могли понять другие, и, что еще важнее, ваше будущее.