什么是Java中的Type Literal?

时间:2013-06-11 20:26:52

标签: java literals abstract-syntax-tree

有一个名为TypeLiteral.

的ASTNode子类

此类代码的描述表明它看起来像

( Type | void ) . class

我不相信我见过这样的事情。

任何人都可以提供TypeLiteral的示例,也可能在Java程序中使用它吗?

1 个答案:

答案 0 :(得分: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);
  }
}