Адрес и имя - это класс 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){
.......
..........
}
Могу ли я сделать это или нет? если нет, пожалуйста, помогите мне с решением
спасибо в авангарде.
Коллекция Адресов - это не то же самое, что коллекция объектов. Прочтите это http://www.javacodegeeks.com/2011/04/java-generics-quick-tutorial.html - особенно часть подтипов.
Вы можете сохранить свою реализацию, указав параметр универсального типа для метода карты:
public static <E> HashMap<String, E> getHashMapbyId(ArrayList<E> obj) {
Вы можете сделать что-то подобное, в своем статическом методе,
private static void print(List<?> objectList) {
System.out.println(objectList.size());
}