具有泛型参数基础的Java泛型参数
发布时间:2020-12-15 08:32:55 所属栏目:Java 来源:网络整理
导读:我想知道在 Java中是否有一个优雅的解决方案(除了显而易见的一个 – 声明一个不同的/显式函数.这是代码: private static HashMapString,Integer nameStringIndexMap = new HashMapString,Integer();private static HashMapBuffer,Integer nameBufferIndexMa
我想知道在
Java中是否有一个优雅的解决方案(除了显而易见的一个 – 声明一个不同的/显式函数.这是代码:
private static HashMap<String,Integer> nameStringIndexMap = new HashMap<String,Integer>(); private static HashMap<Buffer,Integer> nameBufferIndexMap = new HashMap<Buffer,Integer>(); // and a function private static String newName(Object object,HashMap<Object,Integer> nameIndexMap){ .... } 问题是我无法将nameStringIndexMap或nameBufferIndexMap参数传递给函数.除了做另一个明确需要HashMap< String,Integer>的函数之外,我不知道更优雅的解决方案.或HashMap< Buffer,Integer>参数. 我的问题是: 谢谢, 尤利安 解决方法
你也可以使你的功能通用:
private static <E extends Object> String newName(E object,HashMap<E,Integer> nameIndexMap){ .... } 这将函数的两个参数绑定在一起,因此对于HashMap< String,Integer>您只能将String实例作为第一个参数传递.这可能是您想要的也可能不是:如果您只想从地图中获取元素,Jon的解决方案更简单,但如果您想将此对象添加到地图中,则此选项是唯一的选择. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |