java - 有界通配符作为方法参数
问题描述
我想创建一个返回类型是地图对象的方法,参数应该是扩展A并实现I的类。所以我的代码如下:
public Map<String,String> getIdea(Class < ? extends A & I) { .....}
但是我收到一个编译错误,说我的语法错误。它期望在 A 之后有一个逗号。即使使用逗号也不起作用。你有什么主意吗?
解决方案
将 Sotirios Delimanolis 在注释中所说的话放入代码中:
public <T extends A & I> Map<String, String> getIdea(Class<? extends T> clazz) { }
老实说,我不认为通配符在这里得到任何东西,因为T
它是紧密绑定的,所以你可能会更好地使用非通配符版本。
推荐阅读
- ansible - 在ansible中关闭多个虚拟机
- javascript - 如何在 jQuery 中创建滚动菜单?
- javascript - 防止显示的文本几秒钟后隐藏
- django - 有没有办法排除/覆盖其中一个包含的 URL 路径?
- android - 如何在Android中并排制作2个按钮
- r - 有条件地将字符串连接到多行
- vue.js - 在 VueJS 中使用第三方组件
- jekyll - 如何按类别对收藏目录进行排序?
- php - php json_encode显示数组中的数字不正确
- javascript - 使用 Node.js 服务器和 Jquery 客户端的简单安全 websocket (wss) 聊天