Подтвердить что ты не робот

Как записать значение nullable int в java?

Я хочу преобразовать веб-форму в модель на Java.

В С# я могу написать это:

<input name="id" value="" type="text"/>


public class Test
{
    public int? Id{get;set;}
}

id может быть нулевым.

Но в Java при использовании struts2 он выдает исключение:

Method "setId" failed

Итак, как записать этот случай в Java?

4b9b3361

Ответ 1

Вместо использования int вы можете использовать Integer (Integer javadoc), потому что это обнуляемый класс Java.

Ответ 2

Вы можете использовать Integer, который является ссылочным типом (классом) в Java и, следовательно, имеет значение nullable.

Int32 (или int) - это структура (тип значения) в С#. Напротив, Integer в Java - это класс, который обертывает int. Экземпляры ссылочных типов могут быть null, что делает Integer законным вариантом.

Nullable<T> в .NET дает вам аналогичные параметры, потому что он позволяет обрабатывать тип значения, такой как тип с нулевым значением. Тем не менее, он по-прежнему отличается от Java Integer, поскольку он реализован как структура (тип значения), который можно сравнить с null, но фактически не может содержать истинную нулевую ссылку.

Ответ 3

В Java просто используйте Integer вместо int. Это, по существу, значение null. Я не слишком хорошо знаком с Struts, но использование Integer должно позволить вам опустить значение.