Как передать объект массива из одного класса в универсальный метод, который имеет объект в качестве параметра в Java

1

Адрес и имя - это класс 2, который имеет идентификаторы и адреса в качестве переменных. существует метод, называемый 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){
.......
..........
}

Могу ли я сделать это или нет? если нет, пожалуйста, помогите мне с решением

спасибо в авангарде.

Теги:
arraylist

2 ответа

1

Коллекция Адресов - это не то же самое, что коллекция объектов. Прочтите это http://www.javacodegeeks.com/2011/04/java-generics-quick-tutorial.html - особенно часть подтипов.

Вы можете сохранить свою реализацию, указав параметр универсального типа для метода карты:

public static <E> HashMap<String, E> getHashMapbyId(ArrayList<E> obj) {
0

Вы можете сделать что-то подобное, в своем статическом методе,

 private static void print(List<?> objectList) {
    System.out.println(objectList.size());
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню