2013-06-11 1 views
0

코드의 이러한 유형의 설명은 내가 내가 이런 건 본 적이 생각하지 않는다 Java에서 유형 리터럴이란 무엇입니까?

(Type | void) . class

것처럼 보이는 것을 말한다 TypeLiteral.

라는 ASTNode 서브 클래스가있다.

누구나 TypeLiteral의 예를 제공 할 수 있습니까? 그 외에도 Java 프로그램에서 사용되는 것일 수도 있습니다.

답변

2

개체의 클래스를 나타내는 Class이라는 클래스가 있습니다. 그것은 그 클래스와 그 클래스의 객체에 대한 내성을위한 다양한 유용한 메소드를 포함합니다. 클래스 객체를 얻는 한 가지 방법은 Object 메서드 getClass()을 사용하는 것입니다. 그러나 클래스 이름으로 Class을 참조하려는 경우 클래스 리터럴을 사용합니다.

몇 가지 예 :

class Foo { 
    void method(Object b) { 
    if(b.getClass() == Foo.class) { 
     Foo f = Foo.class.cast(b); 
    } 
    Foo.class.getResourceAsStream(...); 
    Foo.class.getMethod("method", Object.class); 
    } 
} 
+1

당신이 설명 할 수 있습니까? '.class'는 무엇을 하는가? 왜 TypeLiteral이라고 불리는가? 'Type'은 어디 있고'Literal'은 무엇입니까? – CodyBugstein