int가 null인지 확인하는 방법
라는 개체가 Person
있습니다.
여기에는 몇 가지 속성이 있습니다.
int id;
String name;
나는 같은 사람 객체를 설정합니다 Person p = new Person(1,"Joe");
.
1.) 개체가 null이 아닌지 확인해야합니다. 다음식이 맞습니까?
if (person == null){
}
Or
if(person.equals(null))
2.) ID에 Int가 포함되어 있는지 알고 싶습니다.
if(person.getId()==null){}
그러나 자바는 그것을 허용하지 않습니다. 이 확인은 어떻게 할 수 있습니까?
An int
은 null 0
이 아니며 초기화되지 않은 경우 일 수 있습니다 .
정수가 null이 될 수 있도록하려면 Integer
대신 을 사용해야 합니다 int
.
Integer id;
String name;
public Integer getId() { return id; }
문 외에는 if(person.equals(null))
true 일 수 없습니다. if person
가 null이면 a NullPointerException
가 발생하기 때문입니다. 그래서 올바른 표현은if (person == null)
프리미티브에는 널값이 없습니다. int의 기본값은 0입니다.
if(person.getId()==0){}
Java의 기본 요소에 대한 기본값 :
Data Type Default Value (for fields)
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d
char '\u0000'
boolean false
개체의 기본값은 null입니다.
String (or any object)--->null
1.) I need to check if the object is not null; Is the following expression correct;
if (person == null){
}
the above piece of code checks if person is null. you need to do
if (person != null){ // checks if person is not null
}
and
if(person.equals(null))
The above code would throw NullPointerException when person is null.
A primitive int
cannot be null. If you need null, use Integer
instead.
1.) I need to check if the object is not null; Is the following expression correct;
if (person == null){ }
YES. This is how you check if object is null
.
2.) I need to know if the ID contains an Int.
if(person.getId()==null){}
NO Since id
is defined as primitive int
, it will be default initialized with 0
and it will never be null
. There is no need to check primitive types, if they are null. They will never be null. If you want, you can compare against the default value 0
as if(person.getId()==0){}
.
You have to access to your class atributes.
To access to it atributes, you have to do:
person.id
person.name
where
person
is an instance of your class Person.
This can be done if the attibutes can be accessed, if not, you must use setters and getters...
In Java there isn't Null values for primitive Data types. If you need to check Null use Integer Class instead of primitive type. You don't need to worry about data type difference. Java converts int primitive type data to Integer. When concerning about the memory Integer takes more memory than int. But the difference of memory allocation, nothing to be considered.
In this case you must use Inter instead of int
Try below snippet and see example for more info,
Integer id;
String name;
//Refer this example
Integer val = 0;
`
if (val != null){
System.out.println("value is not null");
}
`
Also you can assign Null as below,
val = null;
You can use
if (person == null || String.valueOf(person.getId() == null))
in addition to regular approach
person.getId() == 0
참고URL : https://stackoverflow.com/questions/13747859/how-to-check-if-an-int-is-a-null
'Programing' 카테고리의 다른 글
AngularJs에서 동적 범위 변수 설정-범위. (0) | 2020.08.25 |
---|---|
RuntimeException : 응용 프로그램을 인스턴스화 할 수 없습니다. (0) | 2020.08.25 |
디렉티브 테스트에서 $ apply 대 $ digest (0) | 2020.08.25 |
Conda가 기본 환경을 기본적으로 활성화하지 못하도록하려면 어떻게해야합니까? (0) | 2020.08.25 |
Ruby에서 주석 차단 (0) | 2020.08.25 |