我需要有一个XYZIdentifier对象,它将在其他类的合成中用于识别对象。
但是,根据用例(客户端对象中的变量),标识符可以是String,long,甚至是Class。
类似IntegerIdentifier,StringIdentifier,FooIdentifier和某些定义的接口,可以是通用的。
如何创建此设计?
答案 0 :(得分:0)
不确定您的完整上下文是什么,但解决方案的一部分可能涉及泛型来获取您需要的结果,例如:
public <T extends IdentifierBase> T getIdentifier(Class<T> kindYouWant) { ... }
你的想法是告诉它你需要哪种口味,它可以用尽力而为的方式进行转换,或者如果那种方式不可用则返回Null。
就像我说的那样,不确定你的整个问题......