如何在java中检索特定类的实例化对象?
比如说,如何在java中检索特定类的实例化对象?,java,Java,比如说, // Object 1 SensorMeasurement tempSDSMInfo1 = new SensorMeasurement("temperatureMeasurement", tempSDStruct, "SensorDriver", "TemperatureSensor"); // Object 2 SensorMeasurement tempSDSMInfo2 = new SensorMeasurement("temperatureMeasurement", temp
// Object 1
SensorMeasurement tempSDSMInfo1 = new SensorMeasurement("temperatureMeasurement", tempSDStruct, "SensorDriver", "TemperatureSensor");
// Object 2
SensorMeasurement tempSDSMInfo2 = new SensorMeasurement("temperatureMeasurement", tempSDStruct, "SensorDriver", "TemperatureSensor");
//Object 3
SensorMeasurement tempSDSMInfo3 = new SensorMeasurement("temperatureMeasurement", tempSDStruct, "SensorDriver", "TemperatureSensor");
现在在程序的后面,我想检索特定类的所有实例化对象?
我不想将它们存储在集合中。还有其他方法吗?实际上没有其他方法。解决此问题的最佳实践方法是使用工厂进行传感器测量,或使用经理级。然后,您将能够稍后通过工厂或经理引用它们,并在工厂或经理中完成操作,同时允许集中逻辑中心 您不能直接在Java语言中执行此操作——您唯一的选择是在集合中存储所需的对象引用 例如,您可以这样设计您的类:
public class SensorMeasurement {
protected static Set<SensorMeasurement> allMeasurements = new HashSet();
private SensorMeasurement(...) { }
public static buildSensorMeasurement(String s, Object x, ...) {
SensorMeasurement sm = new SensorMeasurement(s, x, ...);
allMeasurements.add(sm);
return sm;
}
public static Set<SensorMeasurement> getAllSensorMeasurements() {
return new HashSet<SensorMeasurement>(allMeasurements);
}
}
公共类传感器测量{
受保护的静态集allMeasurements=new HashSet();
专用传感器测量(…){}
公共静态buildSensorMeasurement(字符串s、对象x等){
传感器测量sm=新传感器测量(s,x,…);
所有测量值。添加(sm);
返回sm;
}
公共静态集getAllSensorMeasurements(){
返回新的哈希集(所有度量);
}
}
这样,类的用户必须使用“buildSensorMeasurement”工厂方法,该方法将自动将每个实例添加到集合中,您可以根据需要使用该集合。听起来您想要形成一个对象集合。你为什么不想将它们存储在集合中?你想找到用于分析或调试的引用吗?实际上还有另一种方法,通过插装,但我怀疑这是他想要的。@baba:如果可以的话,你能解释插装方法吗?嗯,基本上,如果你使用IDE,你已经注意到有一种可能性,在调试模式下,查看jvm加载了哪些类、有多少对象等。当然,这是在当前时间对快照执行的。因此,如果你找到了一种方法太多的钩到debigging,你是设置。看看这个:。正如它所说的,插装可以为您提供有关当前jvm的统计信息。我个人认为,对于您描述的问题,工厂就足够了(而且不那么复杂)