Java 如何为“创建通用方法签名?”;“任何地图条目”;参数列表中的值和/或返回类型?
在我目前正在重构的代码中,在一堆Java 如何为“创建通用方法签名?”;“任何地图条目”;参数列表中的值和/或返回类型?,java,generics,methods,Java,Generics,Methods,在我目前正在重构的代码中,在一堆映射上存在类似的操作。所有地图均为以下类型: Map<<SomeType>,Double> myMap; Map-myMap; 它们经历相同的转换,并转换为: TreeMap<Integer, <SomeType>> transformedMap; TreeMap-transformedMap; 我想知道是否有可能创建一个类似以下内容的通用方法: public TreeMap<Integer, <
映射上存在类似的操作。所有地图均为以下类型:
Map<<SomeType>,Double> myMap;
Map-myMap;
它们经历相同的转换,并转换为:
TreeMap<Integer, <SomeType>> transformedMap;
TreeMap-transformedMap;
我想知道是否有可能创建一个类似以下内容的通用方法:
public TreeMap<Integer, <T>> transformMap(Map<<T>,Double> myMap){...}
public TreeMap transformMap(Map myMap){…}
实现这一目标的方法是什么SomeType
可以是任何类型的对象/集合。我可以用对象替换
,但我想知道是否有更好的解决方案。上面的方法签名显然不起作用:)
某些类型
由系统创建并在代码中操作。我无法对其源代码进行任何更改。您已接近通用方法解决方案。使用
定义泛型类型参数,然后在返回类型和参数类型中不使用自己的
public <T> TreeMap<Integer, T> transformMap(Map<T, Double> myMap) {...}
public TreeMap transformMap(Map myMap){…}
您接近通用方法解决方案。使用
定义泛型类型参数,然后在返回类型和参数类型中不使用自己的
public <T> TreeMap<Integer, T> transformMap(Map<T, Double> myMap) {...}
public TreeMap transformMap(Map myMap){…}
您接近通用方法解决方案。使用
定义泛型类型参数,然后在返回类型和参数类型中不使用自己的
public <T> TreeMap<Integer, T> transformMap(Map<T, Double> myMap) {...}
public TreeMap transformMap(Map myMap){…}
您接近通用方法解决方案。使用
定义泛型类型参数,然后在返回类型和参数类型中不使用自己的
public <T> TreeMap<Integer, T> transformMap(Map<T, Double> myMap) {...}
public TreeMap transformMap(Map myMap){…}
Ha!我知道我忘记了一些东西——通用语法!哈我知道我忘记了一些东西——通用语法!哈我知道我忘记了一些东西——通用语法!哈我知道我忘记了一些东西——通用语法!