如何引用{}
在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();
}
最佳答案
这是一个匿名类表达式:
return objectMapper.readValue(dbData, new TypeReference<List<MyClass>>() {});
// -----------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
它创建一个扩展 TypeReference
的匿名类的新实例。 。 {}
是一个空的类体。正如 Paul Lemarchand 在评论中所说,它在这里很有用,因为 TypeReference
是 abstract
类(否则,您可以只使用 new TypeReference<List<MyClass>>()
而不使用 {}
)。正文可以为空白,因为虽然 TypeReference
是 abstract
,它没有任何 abstract
成员(member);如果有 abstract
成员,您必须在匿名类的类主体中定义它们。
更多内容请参见 Java Anonymous Class Tutorial在 Oracle 的 Java 网站上。
关于java - java中new对象的{}是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56491563/