자바에서 객체의 타입 이름을 확인하고, 체크하는 방법을 소개합니다.

1. Object.getClass().getTypeName()

Object.getClass().getTypeName()는 객체의 타입 이름을 리턴합니다.

import java.util.ArrayList;
import java.util.List;

public class Example {
    public static void main(String[] args) {

        String str = "string";
        Boolean b = false;
        List<String> list = new ArrayList<>();

        System.out.println(str.getClass().getTypeName());
        System.out.println(b.getClass().getTypeName());
        System.out.println(list.getClass().getTypeName());
    }
}

Output:

java.lang.String
java.lang.Boolean
java.util.ArrayList

2. instanceof

object instanceof Type은 object가 Type일 때 true를 리턴하고, 그렇지 않으면 false를 리턴합니다.

import java.util.ArrayList;
import java.util.List;

public class Example {
    public static void main(String[] args) {

        Object obj = "string";

        System.out.println(obj instanceof String);
        System.out.println(obj instanceof Boolean);
        System.out.println(obj instanceof List);
    }
}

Output:

true
false
false