地址和名称是2类,其id和地址作为变量。有一个名为getHashMApById的方法,我将ArrayList obj作为参数传递给该方法。在调用函数的时候,我传递的是一个方法,这个方法是ArrayList的一个对象但我错误地说我不能把“a”传递给方法。
public static void main(......){
ArrayList<Address> a=new ArrayList<Address>();
...
...
HashMap h=new HashMap();
h=getHashMapById(a);
....
...
ArrayList<Name> n-new ArrayList<Name>();
....
...
h=getHashMApById(n);
....
....
.....
}
public static HashMap<String,Object> getHashMapbyId(ArrayList<Object> obj){
.......
..........
}
我可以这样做吗?如果没有,请帮助我解决方案
先谢谢。
答案 0 :(得分:1)
地址集合与对象集合不同。阅读此http://www.javacodegeeks.com/2011/04/java-generics-quick-tutorial.html - 尤其是关于子类型的部分。
您可以通过为map方法定义泛型类型参数来保存实现:
public static <E> HashMap<String, E> getHashMapbyId(ArrayList<E> obj) {
答案 1 :(得分:0)
您可以在静态方法中执行类似的操作
private static void print(List<?> objectList) {
System.out.println(objectList.size());
}