Надеясь на что-то более элегантное, чем
if (i>0 && i<100)
Используйте этот код:
if (lowerBound <= val && val < upperBound) or if (lowerBound <= val && val <= upperBound)
Попробуйте:
if (i>0 && i<100) {}
это будет работать как минимум;)
Еще один претенциозный способ сделать это:
if (IntStream.rangeClosed(1, 99).anyMatch(x -> x == i)) { // ... }
Если вы уверены, что числа хранятся в форме дополнения 2:
return ((x-low) <= (high-low));
Более общее и безопасное решение будет:
return ((x-high)*(x-low) <= 0);
Вот как вы проверяете, находится ли целое число в диапазоне.Больше, чем нижняя граница, меньше, чем верхняя граница.Попытка быть умным с вычитанием, скорее всего, не будет делать то, что вы хотите.
если вы используете данные Spring, вы также можете использовать объект Range из Spring.
range = new org.springframework.data.domain.Range (3, 8); range.contains (5) вернет true.
Range<Long> timeRange = Range.create(model.getFrom(), model.getTo()); if(timeRange.contains(systemtime)){ Toast.makeText(context, "green!!", Toast.LENGTH_SHORT).show(); }
val = val < MIN ? MIN : ( val > MAX ? MAX : val);