@nonsense это я понимаю. Я немного писал на java(лет 5 или 6).
Не понятен просто профит. Ведь этот if можно и снаружи конструктора сделать
Top-level
5 comments
@kurator88 ну и если проверка более кучерявая и эти объекты ты создаёшь по всему коду в десятках мест, то это будет по ублюдски выглядеть. |
@kurator88 так в примере нужно именно в конструкторе проверить. Не, конечно можно написать метод статический и в первой строчке наколхозить чтото типа super(validateValue());
А рядом метод
private static long validateValue() {
if (value < 0) {
throw new IllegalArgumentException();
}
return value;
}
Но это полная фигня и это неудобство будет расти в геометрической прогрессии если у тебя несколько конструкторов и несколько параметров.