【发布时间】:2010-11-13 20:30:11
【问题描述】:
我想像这样在 Map 中存储不同的类型:
public Map< String, Void > common;
MyClass object = new MyClass();
common.put( "Object1", object );
然后像这样使用它:
Void object = common.get( "Object1" );
( ( MyClass )object ).runAnyFunction();
这仅在我创建自己的名为 Void 的空类并扩展我将使用 Void 放入 Map 中的所有类时才有效。所以问题解决了,除非...
Java 中不是已经有 Void 了吗?如果我不创建自己的 Void 类仍然有效。直到我到达我尝试.runAnyFunction() 的演员表。也许如果我尝试使用 Void 扩展我的类 - 但这仅适用于我创建的 Void,而不适用于 Java 的 Void。
这真的归结为我是否真的需要创建自己的空 Void 类。或者如果我可以使用 Java 自己的 Void?
【问题讨论】:
-
VoidJava 中的类是泛型的返回类型标记,不能被实例化,实际上你可以真正使用的唯一部分是Void.TYPE,它只返回Class<Void>。