Я хочу использовать универсальный тип <T>
, чтобы он принимал любые типы объектов.
Ниже приведен пример исходного кода моего кода.
class Address{
///
}
class Person{
///
}
class Details
{
Map<String,String> addressMap;
Map<String,String> personMap;
...
//getters
//setters
public void updateAddress(String id, String case) {
this.addressMap.put(id, case);
}
public void updatePerson(String id, String case) {
this.personMap.put(id, case);
}
}
Я хочу изменить класс Details, используя <T>
, чтобы он принимал любые типы объектов.
Пожалуйста, дайте мне знать лучший подход.
Могу ли я ввести новую переменную (allObjectMap), как показано ниже, вместо использования отдельных переменных для разных объектов (addressMap, personMap). Пример кода ниже.
class Details<T>
{
Map<T,String> allObjectMap;
//getter & setter
public Map<T, String> getAllObjectMap() {
return allObjectMap;
}
public void setAllObjectMap(Map<T, String> allObjectMap) {
this.allObjectMap = allObjectMap;
}
public void updateAddress(String id, String case) {
// this.addressMap.put(id, case);
this.allObjectMap.put((T)id, case);
}
public void updatePerson(String id, String case) {
this.personMap.put(id, case);
this.allObjectMap.put((T)id, case);
}
}
Пожалуйста, дайте мне знать лучший подход.