Мне нужно более чистое решение для использования ImmutableSet. У меня есть код, который выглядит какGuava: ImmutableSet либо значений, либо пустого набора
Set foo = ImmutableSet.copyOf(aGeoR.getFailed());
он прекрасно работает, когда aGeoR.getFailed() возвращает одну или несколько записей.
он терпит неудачу, когда возвращаемый набор равен NULL.
Когда его нуль, мне нужно
Set foo = ImmutableSet.of();
Что такое чистый способ сделать это?
Лучше, чем ваше предложение было бы: Foo = Foo == NULL? ImmutableSet.of(): ImmutableSet.copyOf (foo); , но это действительно не намного чище, IMHO – fishtoprecords
Чистый способ исправить это - изменить getFailed(), чтобы возвращать ненулевое значение всегда или получить Guava, чтобы принять нулевое значение в его параметре. Если вы имеете дело с двумя разными библиотеками, то лучше всего использовать шаблон адаптера, чтобы сгладить несогласованности или справиться с сдвигом – Jherico
Guava, а материал коллекции позади него действительно не нравится нулевым значениям. Его дизайн для них. И мне это нравится. Большую часть времени. – fishtoprecords