Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何理解;{};以下面的代码登录? Type Type=new-TypeToken(){}.getType();_Java_Reflection - Fatal编程技术网

Java 如何理解;{};以下面的代码登录? Type Type=new-TypeToken(){}.getType();

Java 如何理解;{};以下面的代码登录? Type Type=new-TypeToken(){}.getType();,java,reflection,Java,Reflection,请告诉我上面“{}”中的代码它是什么意思?它意味着创建的TypeToken的空类体。您创建了一个新的内联实现(如果TypeToken是一个接口)或扩展(如果TypeToken是一个类)。在您的例子中,类主体是空的,因此{}。这个概念被称为匿名内部类TypeToken是一个类,它只是创建TypeToken类的匿名子类,并从同一行中的对象调用getType()方法。你可以像这样简单地拆分它 Type type = new TypeToken<List<String>>() {

请告诉我上面“{}”中的代码它是什么意思?

它意味着创建的TypeToken的空类体。

您创建了一个新的内联实现(如果
TypeToken
是一个接口)或扩展(如果
TypeToken
是一个类)。在您的例子中,类主体是空的,因此
{}
。这个概念被称为匿名内部类

TypeToken是一个类,它只是创建
TypeToken
类的匿名子类,并从同一行中的对象调用
getType()
方法。你可以像这样简单地拆分它

Type type = new TypeToken<List<String>>() {}.getType();
TypeToken typeList=new-TypeToken(){};
Type Type=typeList.getType();

如果您仍然不熟悉声明匿名类,请查看。

TypeToken
是一个抽象类(仅声明为抽象类,但不需要插入任何方法),您可以使用匿名类继承它。 从TypeToken javadocs:

使用(通常是匿名的)子类捕获泛型类型,并根据知道类型参数的上下文类解析它


非常感谢。@Lechance我建议您检查文档了吗?@Lechance:请记住投票选出有用的答案,并接受最好的答案:
TypeToken<List<String>> typeList = new TypeToken<List<String>>(){};
Type type = typeList.getType();