Можно ли объявлять переменные в пределах определенного интервала в Java - PullRequest
0 голосов
/ 14 января 2019

Скажем, я объявил класс с переменной alpha типа double float. Можно ли каким-либо образом определить альфа в определенном интервале, скажем (1, 3).

1 Ответ

0 голосов
/ 14 января 2019

Вы не можете. Однако, если это действительно необходимо, вы можете создать свой собственный класс:

public class FloatWithinInterval {
    public static final int LOWER_BOUND = 1;
    public static final int UPPER_BOUND = 3;
    public final float value;

    public FloatWithinInterval(float value) {
        if(value < LOWER_BOUND || value > UPPER_BOUND) throw new IllegalArgumentException(); //Or a custom exception
        this.value = value;
    }
}

Обратите внимание, что благодаря ключевому слову final ваше значение является неизменным.

Тогда ваше поле будет объявлено как

FloatWithinInterval alpha;

И инициализировать его, вместо

alpha = 2.0f;

Вы должны написать

alpha = new FloatWithinInterval(2.0f);

И вы можете получить доступ к своему значению с помощью alpha.value

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...