首页 > 解决方案 > 我如何在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);

}

标签: javaclassparsingmethods

解决方案


您有方法重载的经典要求

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


推荐阅读