Java Reflection:通过输入名称来获取给定类的实例?

Tom*_*Tom 16 java oop reflection class instance

是否可以通过将此类的名称作为字符串输入来获取类的所有实例?

像这样的东西?

var instances = Reflection.findClass("com.someone.MyClass").getInstances();
Run Code Online (Sandbox Code Playgroud)

任何反馈都表示赞赏.谢谢.

Jon*_*eet 8

不,没有那样可用.如果您挂钩到调试API,您可以这样做,但不能在"正常"运行时.


Ric*_*ich 5

我不知道在运行时这样做的方法,但是,如果你很乐意"离线",你可以执行以下操作:

  1. 进行堆转储
  2. 将堆转储装载到Eclipse MAT中
  3. 打开OQL窗格,然后输入命令,例如select * from com.someone.MyClass.运行此查询将在执行堆转储时返回内存中的实例.