如何在java中将泛型对象添加到列表中?
如何在java中将泛型对象添加到列表中 目前,我有两个类执行相同的功能,并希望将它们集成在一起如何在java中将泛型对象添加到列表中?,java,generics,collections,Java,Generics,Collections,如何在java中将泛型对象添加到列表中 目前,我有两个类执行相同的功能,并希望将它们集成在一起 public class MyClass1 { private List<Object1> myList = new ArrayList<>(); public void addList(Object1 o) { myList.add(o); } } public class MyClass2 { private List&
public class MyClass1 {
private List<Object1> myList = new ArrayList<>();
public void addList(Object1 o) {
myList.add(o);
}
}
public class MyClass2 {
private List<Object2> myList = new ArrayList<>();
public void addList(Object2 o) {
myList.add(o);
}
}
公共类MyClass1{
private List myList=new ArrayList();
公共无效添加列表(Object1 o){
添加(o);
}
}
公共类MyClass2{
private List myList=new ArrayList();
公共无效地址列表(Object2o){
添加(o);
}
}
差不多
公共类MyClass{
private List myList=new ArrayList();
公共void addList(对象o){
添加(o);
}
}
您可以将自己的类设置为通用类:
public class MyClass<T> {
private List<T> myList = new ArrayList<>();
public void addList(T o) {
myList.add(o);
}
}
公共类MyClass{
private List myList=new ArrayList();
公共无效地址列表(TO){
添加(o);
}
}
您可以使两个类Object1
和Object2
实现相同的接口“ObjInterface”
public class MyClass {
private List<ObjInterface> myList = new ArrayList<>();
public void addList(ObjInterface o) {
myList.add(o);
}
}
公共类MyClass{
private List myList=new ArrayList();
公共无效地址列表(对象接口o){
添加(o);
}
}
如果希望该类仅包含Object1或Object2,而不包含任何其他内容,则可以将其他两个答案组合在一起:
interface ObjInterface {
// may be empty
}
public class MyClass<T extends ObjInterface> {
private List<T> myList = new ArrayList<>();
public void addList(T o) {
myList.add(o);
}
}
MyClass<Object1> object1only = new MyClass<>();
MyClass<Object2> object2only = new MyClass<>();
接口对象接口{
//可能是空的
}
公共类MyClass{
private List myList=new ArrayList();
公共无效地址列表(TO){
添加(o);
}
}
MyClass object1only=新建MyClass();
MyClass object2only=新建MyClass();
并将实现对象接口
添加到Object1和Object2的定义中
如果将这两个类共有的方法添加到ObjInterface
,则可以在MyClass
中的T
对象上调用这些方法,因为它们保证是ObjInterface
的子类