Szukam czystego i bezpiecznego sposobu na zapewnienie, że pole klasy nigdy nie będzie ustawione na wartość null. Chciałbym, aby wartość pola została ustawiona raz w konstruktorze klasy i nigdy później nie modyfikowana. Myślę, że tylko słowo kluczowe readonly w języku C# pozwala na to. Czy jest sposób na to samo w Javie?Jak zapewnić, że pole nigdy nie będzie puste w klasie Java
class foo
{
private Object bar;
public foo(Object pBar)
{
if(pBar == null)
{
bar = new Object();
}
else
{
bar = pBar
}
}
// I DO NOT WANT ANYONE TO MODIFY THE VALUE OF bar OUT OF THE CONSTRUCTOR
}
+1, ale myślę, że byłoby lepiej rzucić wyjątek lub użyć assert zamiast cicho przydzielić nowy obiekt(). –