Как проверить, не является ли int не пустой или пустой?

Я действительно не знаю, возможно ли это или нет. Но я поражаюсь в месте, где я хочу проверить значение int null или нет, для вызова разных методов.

Есть ли способ сделать это?

На самом деле переменная поступает из браузера со значением null. Я не могу изменить объявление int на Integer. Потому что он имеет свои собственные последствия.

Любые предложения?

Ответы

Ответ 1

int переменные не могут быть null

Если a null нужно преобразовать в int, то именно конвертер решает, устанавливать ли 0, исключать исключение или устанавливать другое значение (например, Integer.MIN_VALUE). Попробуйте подключить собственный конвертер.

Ответ 2

Я думаю, вы спрашиваете о таком коде.

int  count = (request.getParameter("counter") == null) ? 0 : Integer.parseInt(request.getParameter("counter"));

Ответ 3

Я думаю, вы можете инициализировать переменные значением типа -1, потому что, если переменные типа int не инициализированы, его нельзя использовать. Если вы хотите проверить, не является ли это значение, вы можете проверить, есть ли оно -1.

Ответ 4

если ваша переменная int объявлена ​​как переменная уровня класса (переменная экземпляра), она будет по умолчанию равна 0. Но это не означает, что значение, отправленное с клиента, равно 0 или null. Возможно, у вас может быть метод setter, который можно вызвать для инициализации/установки значения, отправленного клиентом. то вы можете определить свое значение индикатора, может быть некоторое отрицательное значение для указания нулевого значения.

Ответ 5

Возможно, браузер возвращает строковое представление некоторого целочисленного значения? На самом деле int не может быть нулевым. Может быть, вы можете проверить значение null, если значение не равно null, а затем преобразовать представление String в int.

Ответ 6

int не может быть нулевым. Если вы не присваиваете значение int по умолчанию, значение равно 0. Если вы хотите проверить значение null, тогда make int как Integer в объявлении. Тогда объект Integer может быть нулевым. Таким образом, вы можете проверить, где оно равно null или нет. Даже в проверке javax bean вы не сможете получить ошибку для аннотации @NotNull до тех пор, пока переменная не будет объявлена ​​как Integer.

Ответ 7

public class Demo {
    private static int i;
    private static Integer j;
    private static int k = -1;

    public static void main(String[] args) {
        System.out.println(i+" "+j+" "+k);
    }
}

OutPut: 0 null -1

Ответ 8

Целое число не может быть нулевым, но есть действительно простой способ делать то, что вы хотите сделать. Используйте оператор if-then, в котором вы проверяете целочисленное значение на все возможные значения.

Пример:

int x;

//Some Code...

if (x<=0 || x>0){
    //what you want the code to do if x has a value
} else {
    //what you want the code to do if x has no value 
}

Отказ от ответственности: Я предполагаю, что Java не автоматически устанавливает значения чисел в 0, если не видит значения.