Может ли кто-нибудь помочь мне предоставить общий оптимизированный код для проверки нулевых объектов? В основном я ищу метод, который может принимать любой объект в качестве входных данных и, возможно, путь и возвращать логическое значение, указывающее, является ли целевой объект нулевым или нет.
Что-то вроде этого:
public boolean isNull(Object Obj, String Path){
// ...
}
Путь примерно такой: A.getB().getC(). . .
поэтому A передается как объект, а метод isNull
сначала вызывает getB()
, проверяет, не является ли возвращенный объект null
, затем вызывает getC()
и так далее.
Optional
для ссылок, допускающих значение NULL). - person Kayaman   schedule 25.11.2015Optional
и продолжайте использовать Ява. Тем не менее проблема за кулисами беспокоит меня больше, чем предоставление конкретного решения для этого. - person Luiggi Mendoza   schedule 25.11.2015null
, и выдавать более конкретное исключение из неудавшегося предварительного условия, а не полагаться на что-то дальше по линии, выбрасывая НПЭ. Но если вам нужно сделать это на несколько уровней глубже, вероятно, что-то не так с вашим дизайном. - person biziclop   schedule 25.11.2015A
тем же, что и параметрObj
(пожалуйста, используйте для них строчные буквы)? - person Mr_and_Mrs_D   schedule 25.11.2015Stream.of(arr).filter(Object::isNotNull).forEach(...);
кажется хорошим вариантом ее использования, к сожалению, его там нет. Но эта форма не является непостижимой:Stream.of(arr).filter(r->r != null).forEach(...);
просто каждое использование потенциально приведет к новой ссылке на метод. - person YoYo   schedule 11.05.2018