用java如何遍历一个类的所有实例?(50分)

  • 主题发起人 主题发起人 satanmonkey
  • 开始时间 开始时间
S

satanmonkey

Unregistered / Unconfirmed
GUEST, unregistred user!
比如有类CLASS
他有实力a1,a2,a3,....a100
我想全部访问一遍a?
 
怎么没人回答我啊?
难道没人知道?
 
为什么要这样,你可以用
if (a1 instanceof a) {
……
}
然后循环就可以了
 
关于这个问题,我没有对JavaVM进行过分析,不知道有没有现成的办法。
如果我来做的话,就这样写:
代码:
Class A
{
  static Vector refs = null;
  public static A getInstance();
}
然后在getInstance的时候:
代码:
public static A getInstance()
{
  A result = new A();
  if (refs == null)
  {
     refs = new Vector();
  }
  refs.add(result);
  return A.
}
在所有需要用的A的地方,不再使用
A someA = new A();
而用 A someA = A.getInstance();
取代。
这样,在你的A.refs这个静态变量里面就存有所有的A的实例了.
当然,别忘了在finalize里面把自身从refs里面去掉。我不知道这样做会不会影响垃圾收集?
因为这样这个对象就会一直有一个引用。
 
接受答案了.
 
为什么要这样,你可以用
if (a1 instanceof a) {
……
}
然后循环就可以了
这个回答是有问题的。因为你如何得到所有的a1..a100或者说所有的变量来做这个循环本身
就难以得到。如果能得到所有的变量列表,当然可以用instanceof来做。
 
后退
顶部