기능
- 객체 타입 및 형변환 가능 여부 확인
= 해당 클래스가 본인 집이 맞는지 확인 - true / false로 결과 반환
주로 상속 관계에서 부모 객체인지 자식 객체인지 확인할 때 사용
문법
객체 instanceof 클래스
예제1
class Parent{}
class Child extends Parent{}
public class InstanceofTest {
public static void main(String[] args){
Parent p = new Parent();
Child c = new Child();
System.out.println(p instanceof Parent); //true
System.out.println(c instanceof Parent); //true
System.out.println(p instanceof Child); //false, 부모는 자식을 상속받지X
System.out.println(c instanceof Child); //true
}
}
예제2
//Object 형인 임의의 객체 가져오기
Object obj = field.get(class);
//instanceof로 비교
if(obj instanceof Integer) {
System.out.println("숫자형")
} else if (obj instanceof String) {
System.out.println("문자열")
} else if (obj instanceof String[]) {
System.out.println("문자열 배열")
}
출처
https://mine-it-record.tistory.com/120
https://blog.naver.com/PostView.nhn?blogId=simpolor&logNo=221096732966
'Backend > Java' 카테고리의 다른 글
[Java] int와 Integer 비교 (0) | 2022.03.21 |
---|---|
[Error] java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener (0) | 2022.02.28 |
[Java] .getClass().getName(): 변수 타입 확인 (0) | 2022.02.18 |
[MyBatis] foreach문 : 파라미터에 배열/리스트 담기 (0) | 2022.02.13 |
[Java] 문자열 비교 : ==와 equals()의 차이 (0) | 2022.01.11 |
댓글