В настоящее время я сталкиваюсь с проблемой удобочитаемости кода. Проблема заключается в следующем:Все Null, Any Null возможно guava Predicate
Есть три объекта
// initialization skipped, all of three could be null as result of their initalization
Object obj1;
Object obj2;
Object obj3;
Я хочу создать две булевы из них следующим образом:
// all are null
boolean bool1 = (obj1 == null && obj2 == null && obj3 == null);
// any of them is null
boolean bool2 = (obj1 == null || obj2 == null || obj3 == null);
Я знаю, гуавы предоставляет встроенные предикаты как isNull
и notNull
,
Есть ли способ реализовать пользовательский предикат, который выполняет эти два булина? (при условии, что функция .apply(..)
будет принимать 3 параметра)
вам нужна [предпосылка] Do (https://code.google.com/p/guava-libraries/wiki/PreconditionsExplained) или [предикат] (https: //code.google.com/p/guava-libraries/wiki/FunctionalExplained#Predicates)? Оба они разные. –
Мне нужна реализация предикатов с двумя методами, которые будут охватывать эти два булина. – px5x2
Этот вопрос не прав: вам нужен 3-параметр 'Predicate', где существует только один (вы можете использовать списки, чтобы соответствовать этому). Вы хотите убить муху с помощью bazooka, так как ваш код отлично читается и имеет полный смысл; нет необходимости использовать Guava. Наконец, вы хотите использовать 'Predicate' без всякой причины. Я дам ответ, который будет отвечать строго на ваш вопрос, но это все еще не имеет смысла. –