java - 我如何在java方法中传递不同的类
问题描述
我有两个类,我想将它们传递给一个方法,以便我可以使用它们来设置一个数组适配器。
以下是我的车辆类别
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);
}
解决方案
您有方法重载的经典要求
Class A {
public setupMethod(Car car){
//do something here
}
public setupMethod(House house){
//do something different here
}
}
在您调用的类中,创建一个新对象并调用调用。
main() {
A a = new A(){
a.setupMethod(carVariable);
a.setupMethod(houseVariable);
}
查看此页面以获取更多参考 https://www.w3schools.com/java/java_methods_overloading.asp
推荐阅读
- javascript - 使用 javascript 函数交换 html 表中的 2 列
- haskell - 不使用 monadic bind 使用循环写下 mfix 的情况
- .net - 是什么让 Decimal 数据类型的十进制数比数据类型 Double 的精度更高?
- json - 嵌套 JSON 对象数组上的 Jolt 变换
- python - 处理光标 [sqlite/Python] 的正确方法?
- flutter - 定义列表和地图的不同方式(Dart/Flutter)
- r - 在 R Notebook 中,表格不会与 head() 一起显示
- c++ - 跨地图和无序地图删除共享对象
- python - 尝试在python中创建一个汇总多个条件的新列
- javascript - React Native,在JSON中获取数据时出现组件异常