我想创建一些我只能描述为“代码工厂方法”的东西。
为了避免代码重复,我想创建一个方法,其中包含要执行的代码,但是“placeholder”应该包含类型。该方法当然会将这些类型作为参数并将每个类型放在适当的位置。例如:
void factory(placeholder1, placeholder2){
ArrayList<placeholder1> List = new ArrayList<placeholder1>;
Placeholder2 variable;
}
factory(String, Integer);
会产生:
ArrayList<String> List = new ArrayList<String>;
Integer variable;
任何想法我会怎么做?
非常感谢您的帮助。
编辑:感谢您的所有反馈。我正在使用通用方法,它已经工作了一段时间,直到我遇到了我认为有人之前提到过的东西。我想在其中一个通用对象中使用其中一种方法,如:整数变量= new整数();
variable.isInteger();
似乎我不能使用泛型来做到这一点。可能有解决方法吗?
答案 0 :(得分:2)
以下是它的外观:
<placeholder1, placeholder2> void factory(){
ArrayList<placeholder1> List = new ArrayList<placeholder1>;
placeholder2 variable;
}
this.<String, Integer> factory();
但我同意亚马,你应该阅读泛型。此外,要小心类型擦除,因为这可能无法完成您所期望的一切。
答案 1 :(得分:2)
看起来你想要某种宏观设施,而不是简单地采用泛型。 Java没有那个。例如,要稍微扩展您的示例,您不能执行以下任何操作:
factory(String, Integer);
List.get(variable);