Java 如何从其成员变量获取类对象?

Java 如何从其成员变量获取类对象?,java,Java,我目前正在编写这段代码,我想向成员函数传递一个ID以获取对象 public class Car { private int _ID; private String name; private String model; Car(int _id, String name, String model){ this._ID = _id; this.name = name; this.model = model; } .

我目前正在编写这段代码,我想向成员函数传递一个ID以获取对象

public class Car {

   private int _ID;
   private String name;
   private String model;

   Car(int _id, String name, String model){
       this._ID = _id;
       this.name = name;
       this.model = model;
   }

   ....

   public static Car getCar(int _id){
       Car mCar;
       //TODO: Algo to get car
       return mCar;
   }

}
我有没有办法用这种方法得到这个物体

感谢您的帮助!
谢谢大家!

没有预先定义的方法可以做到这一点。你必须有一辆汽车或其他东西来维护一张地图或类似的汽车。这通常最好不要在汽车本身中完成,而是在使用它的代码中完成。

您需要按键保存对象的地图。这里有一种方法:

public class Car {

   private int _ID;
   private String name;
   private String model;

   Car(int _id, String name, String model){
       this._ID = _id;
       this.name = name;
       this.model = model;
       carsById.put(_id, this);  // <-- add to map
   }

   ....

   private static Map<Integer, Car> carsById = new HashMap<>();

   public static Car getCar(int _id){
       return carsById.get(_id);
   }

}

除非您有一个列表、地图、树或其他适合创建汽车的东西,否则仅使用当前代码是不可能的。一个好的做法是将此列表从其他地方维护的车辆类别中分离出来。但是如果你坚持的话,shmosel提供了一种方法。

我想不清楚你想做什么!你要什么算法?我想输入一辆车的id来了解这辆车的详细信息。然后使用细节打印到屏幕上,正如一些人所提到的,从设计角度来看,这可能不是最好的方法,但在这种情况下,我相信这是演示解决方案的最简单方法。这是可行的,但我想知道是否还有其他方法!有吗?@hello_world有多种方法可以做到这一点,但它们都涉及到在某种集合中缓存对象。