Как проверить, не является ли 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, если не видит значения.