Boolean a = true;
Boolean b = false;
Boolean c = null;
Я бы использовал это. Это самый простой.
Другой способ - использовать перечисление. Может быть, это даже лучше и быстрее, так как бокс не требуется:
public enum ThreeState {
TRUE,
FALSE,
TRALSE
};
Преимуществом первого является то, что пользователям вашего класса не нужно заботиться о вашем булевском выражении с тремя состояниями. Они все еще могут пройти true
и false
. Если вам не нравится null
, так как он мало говорит о его значении, вы все равно можете сделать public static final Boolean tralse = null;
в своем классе.