java - 函数调用后的大括号是什么?

标签 java

在下面的代码中,Type类型是什么意思,大括号是干什么用的?

Type type = new TypeToken<List<String>>(){}.getType();
List<String> list = converter.fromJson(jsonStringArray, type ); 

最佳答案

那不是在函数调用之后,而是在构造函数调用之后。线路

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

正在创建 TypeToken 的匿名子类的实例,然后调用其 getType() 方法。你可以在两行中做同样的事情:

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

Java Tutorial Anonymous Subclasses有更多这样的例子。这是一种有点特殊的用法,因为没有方法被覆盖,也没有使用实例初始化 block 。 (有关实例初始化 block 的更多信息,请参阅 Initializing Fields。)

关于java - 函数调用后的大括号是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18968380/

相关文章:

java - 如何修复[发现 : 'android.content.Context' , 需要 : 'androidx.lifecycle.LifecycleOwner' ] in BroadcastReceiver?

java - Java中动态命名对象

java - java中Map对象的连接列表

Java 如何将类<ArrayList<T>> 传递给方法?

java - 需要打印没有 "Brackets"的 ArrayList

java - 为什么 Hibernate 会为 @ManyToOne 关联的隐式连接生成 CROSS JOIN?

java - 如何使用<jsp :forward> with a relative url在jsp中重定向

java - Heroku 无法找到主类

java - 使用 iText 从 PCKS7 签名的 PDF 文件中获取哈希/摘要

java - 在java应用程序中与oracle的连接