У меня есть объект под названием Person
.
в нем есть несколько атрибутов;
int id;
String name;
Я установил объект типа "человек" Person p = new Person(1,"Joe");
.
1.) Мне нужно проверить, не является ли объект нулевым; Правильно ли следующее выражение;
if (person == null){
}
Or
if(person.equals(null))
2.) Мне нужно знать, содержит ли идентификатор Int.
if(person.getId()==null){}
Но Java этого не позволяет. Как я могу выполнить эту проверку?
int
это0
?0
. Если вы хотите выполнить нулевую проверку. Используйте для этого целочисленную оболочку.Ответы:
An
int
не является нулем, может быть,0
если не инициализирован.Если вы хотите, чтобы целое число могло быть нулевым, вам нужно использовать
Integer
вместоint
.Кроме того, утверждение
if(person.equals(null))
не может быть истинным, потому что, если оноperson
равно нулю,NullPointerException
будет брошено a . Итак, правильное выражениеif (person == null)
источник
примитивы не имеют нулевого значения. по умолчанию для int равно 0.
Значения по умолчанию для примитивов в java:
Объекты имеют значение по умолчанию null.
Строка (или любой объект) ---> null
приведенный выше фрагмент кода проверяет, является ли человек нулевым. тебе нужно сделать
и
Приведенный выше код вызовет исключение NullPointerException, если значение person равно null.
источник
Примитив
int
не может быть нулевым. Если вам нужен null, используйтеInteger
вместо него.источник
ДА . Вот как вы проверяете, есть ли объект
null
.НЕТ Поскольку
id
он определен как примитивint
, он будет инициализирован по умолчанию0
и никогда не будетnull
. Нет необходимости проверять примитивные типы, если они нулевые. Они никогда не будут нулевыми. Если хотите, можете сравнить со значением по умолчанию0
какif(person.getId()==0){}
.источник
У вас должен быть доступ к атрибутам вашего класса.
Чтобы получить доступ к его атрибутам, вам необходимо:
где
является экземпляром вашего класса Person.
Это можно сделать, если к атрибутам можно получить доступ, в противном случае вы должны использовать сеттеры и геттеры ...
источник
Ты можешь использовать
в дополнение к обычному подходу
источник
В Java для примитивных типов данных нет значений NULL. Если вам нужно установить флажок Null, используйте Integer Class вместо примитивного типа. Вам не нужно беспокоиться о различии типов данных. Java преобразует данные примитивного типа int в Integer. Что касается памяти, Integer занимает больше памяти, чем int. А вот разницу в распределении памяти учитывать нечего.
В этом случае вы должны использовать Inter вместо int
Попробуйте фрагмент ниже и посмотрите пример для получения дополнительной информации,
`
`
Также вы можете назначить Null, как показано ниже,
источник