프로그래밍

    하바나 2016. 7. 9. 19:17

    Java에서 C#의 as 구문처럼 형 변환 사용하기


    C#


    var o = TypeA as TypeB; //TypeA 형식의 인스턴스를 TypeB 형으로 변환 후 o에 저장


    Java


    //c# as 연산자를 본 따서 타입 캐스팅 시도함. 타입 불일치 시 null 반환

    public static <T> T as(Class<T> clazz, Object o){
    if(clazz.isInstance(o)){
    return clazz.cast(o);
    }
    return null;

    }

    TypeB o = as(TypeB.class, InstanceOfTypeA); //TypeA 형식의 인스턴스를 TypeB 형으로 변환 후 o에 저장

    if (o != null) {
    }