Java如何使用enum收集类?
假设我有很多矩阵的实现(它们不会从一个扩展到另一个),我希望用户能够看到所有不同的类,以某种枚举或其他方式收集它们,我该怎么做? 它不必是菜单或其他什么,这样我就可以看到所有的类,就像enum一样
例如:
MainMatrix matrix= new (ALL THE POSSIBILITIES)();
而主矩阵是所有矩阵的公共接口
我可以使用enum创建与我将选择的选项匹配的新类的实例吗? 例如:
public enum Matrices{
DIAGONAL_MATRIX(new DiagonalMatrix());
..
..
}
我能做到吗
# 1 楼答案
您可以通过Reflections库以编程方式实现这一点
例如:
# 2 楼答案
我想这可能是你想要尝试的:
要获取对角矩阵的实例:
# 3 楼答案
一种方法是在枚举中有一个方法来创建矩阵(主要基于您已经编写的内容):
编辑:
只需调用
createMatrix
方法为给定的枚举创建一个矩阵:或者直接
# 4 楼答案
MainMatrix
F4
李>F4
是打开“类型层次结构”视图的Eclipse快捷方式。这将显示当前选定类型的所有子类型