public class ImageReaderFactory {
public static ImageReader getImageReader(ImageTypes typ){
if (typ == null) throw new IllegalArgumentException();
if (typ.equals(ImageTypes.JPG)) return new JpgReader();
if (typ.equals(ImageTypes.BMP)) return new BmpReader();
if (typ.equals(ImageTypes.PNG)) return new PngReader();
throw new IllegalArgumentException();
}
}
Вот класс ImageReader. Идет проверка на соответствие типов GPG, BMP и PNG. Если не совпадает ни с одним из типов, то выкидывается ошибка. Зачем еще доп. проверка на null?
Евгений
34 уровень
Поясните, плз, зачем нужна проверка на null.
Решен
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #2322530
19 ноября 2020, 10:05полезный
потому что в параметре используется ссылочный тип
а значит туда возможно передать null. если у переменной, которая хранит null, вызвать любой метод, или попытаться обратиться к полю, то будет исключение NullPointerException.
поэтому правильным всегда считается вначале метода проверить что аргументом был не null +1
Евгений
19 ноября 2020, 10:35
Ясно вполне, спасибо за ответ. )))
0