Здравствуйте, bob_marlin, Вы писали:
_>Здравствуйте, all-x, Вы писали:
_>>>выплюнул ошибку, при попытке проставить ему null)
AX>>По-моему, это не правильно. Цель в том, чтобы ловить подобные ошибки на этапе компиляции, а NPE при выполнении получить всегда успеем
_>ну не всегда, допустим у нас есть bean, так вот — не хочется, чтобы ему кто-то делал setSmth(null), где setSmth такой:
_>_>public voic setSmth(Object smth){
_> _smth = smth;
_>}
_>
_>ибо потом NPE мы уже выловим в другом месте, а причиной послучил вызов этого setter'а с null'ом.
Это можно поймать при компиляции вызова setter'a.
_>И тем более не всегда на этапе компиляции это возможно. Но в то же время не хочется в каждом методе писать
_>_>assert smth != null : "Non null expected";
_>
Согласен. Кстати, можно попробовать решить проблему по-другому — вставить эти проверки с помощью аспектов.