java泛型语法映射。进入
我有一个变量:
Class<Map.Entry<String, Boolean>> clazz;
我想给它分配一个类,而不实例化任何东西。但编译器不允许我写:
Class<Map.Entry<String, Boolean>> clazz = Map.Entry<String, Boolean>.class;
我怎么做作业
你可以在下面搜索框中键入要查询的问题!
我有一个变量:
Class<Map.Entry<String, Boolean>> clazz;
我想给它分配一个类,而不实例化任何东西。但编译器不允许我写:
Class<Map.Entry<String, Boolean>> clazz = Map.Entry<String, Boolean>.class;
我怎么做作业
# 1 楼答案
啊,删除字体的乐趣
Java编译器区分类型
Map.Entry
(原始)和Map.Entry<String, Boolean>
(参数化)。不幸的是,不能使用.class
在类型文本中添加类型参数。所以你必须投。但你不能直接这么做;你必须绕道Class<?>
。我不记得为什么了,很抱歉:)此外,你会得到一个“未检查”的警告,你可以抑制它,因为你知道(在本例中)演员阵容总是会成功的。所以:
(无需在发生此赋值的方法上添加警告;只需将其直接放在赋值的前面即可。)
享受!:)