【发布时间】:2021-05-10 16:00:56
【问题描述】:
我有两个类,我想将它们传递给一个方法,以便我可以使用它们来设置数组适配器。
以下是我的车辆类别
public class Car{
private int yearModel;
private String brand;
private int priceModel;
private int numberModel;
}
那么下面是我的
public class House{
private int id;
private double area;
private String whenBuilt;
}
我正在调用一个方法,我应该通过其中任何一个类,我怎么能做到这一点
下面是我的方法
private void setUpAdapter(Class class){
ArrayAdapter<class> clientArrayAdapter = new ArrayAdapter<>(requireActivity(),
android.R.layout.simple_list_item_1, clientList);
}
在正常情况下,我只会使用设置适配器
ArrayAdapter<Car> clientArrayAdapter = new ArrayAdapter<>(requireActivity(),
android.R.layout.simple_list_item_1, myList);
或
ArrayAdapter<House> clientArrayAdapter = new ArrayAdapter<>(requireActivity(),
android.R.layout.simple_list_item_1, myList);
但是我想要实现的应该是这样的
House house = new House()
Car car = new Car()
if(condition == something){
setUpAdapter(house);
}else if(condition == something{
setUpAdapter(car);
}
【问题讨论】:
-
您想利用这两个类的哪些共同功能?当然,您可以编写一些通用的超级接口。如果您真的只希望它们成为 any 对象(这不太可能),那么您可以传递
Object,但这可能不是您想要的。 -
@SilvioMayolo 正在设置下拉菜单/微调器,有一个用于汽车的下拉菜单和一个用于房屋的下拉菜单我只想使用一种方法来设置它们,条件是有时汽车下拉菜单将被隐藏,而房屋下拉菜单将被隐藏,我也想为所有这些使用一个装载机,以防汽车和房屋的列表同时被填充我不想有一个装载机加载并完成然后第二个加载器再次加载
-
目前,这两个类没有任何共同之处。请阅读 Liskov 替换原则。
-
@NomadMaker 我刚刚使用这些类来减少我用来问问题的时间,这些类正在使用具有相同的属性
-
@NomadMaker 如果他只是创建一个列表复制方法,你会说同样的话。 LSP 并不意味着你不能用相同的方法对不同的类做共同的操作。
标签: java class parsing methods