0 java
我如何{}在Java中引用。它是新对象,类还是数据类型还是其他?
我正在通过json中的一些代码进行对象转换。它使用com.fasterxml.jackson.core.type.TypeReference。我想了解是什么{}。因为方法总是接受对象。当我这样做时new XXX(),对象的创建就完成了。那么,额外需要什么{}呢?
try {
return objectMapper.readValue(dbData, new TypeReference<List<MyClass>>() {});
} catch (IOException e) {
LOGGER.error("Exception while de-serializing", e);
return Collections.emptyList();
}
Run Code Online (Sandbox Code Playgroud)
这是一个匿名的类表达式:
return objectMapper.readValue(dbData, new TypeReference<List<MyClass>>() {});
// -----------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)
它创建一个匿名类扩展的新实例TypeReference。该{}是一个空类主体。就像Paul Lemarchand在评论中说的那样,它在这里很有用,因为它TypeReference是一个abstract类(否则,您可以使用new TypeReference<List<MyClass>>()而不使用{})。主体可以是空白的,因为尽管TypeReference是abstract,但是它没有任何abstract成员。如果它有abstract成员,则必须在匿名类的类主体中定义它们。
有关更多信息,请参见Oracle Java网站上的Java Anonymous Class Tutorial。
| 归档时间: |
|
| 查看次数: |
84 次 |
| 最近记录: |