java创建泛型对象_Java泛型使⽤反射从⽅法(创建对象)获
取Type
我想创建⼀个GenericBuilder,可以⽤来检索我的类中定义的Builder类。我创建了以下接⼝和类Java泛型使⽤反射从⽅法(创建对象)获取Type
public interface BuilderType {
}
public class MyObject implements BuilderType {
private int i;
private MyObject() {}
public int getI() {
return i;
}
public static MyObjectBuilder buildMyObject() {
MyObjectBuilder builder = new MyObjectBuilder();
return builder;
}
public static class MyObjectBuilder {
private final MyObject obj;
MyObjectBuilder() {
obj = new MyObject();
}
public MyObjectBuilder withI(int i) {
obj.i = i;
return this;
}
public MyObject build() {
return obj;
java接口可以创建对象吗}
}
public class GenericBuilder {
public static , S> S getBuilder(Class t) {
S s = null;
try {
s = (S) t.getDeclaredMethod("build" + t.getSimpleName(), null)
.
invoke(null, null);
} catch (Exception e) {
e.printStackTrace();
}
return s;
}
}
声明S =( ......我GenericBuilder给出了⼀个警告投:未选中的对象转换到S,有没有消灭它的⽅法吗? ?2012-11-30
JKV
+0
通常我们会'如果instanceof SomeClass'⽤于未经检查的转换。只是这是警告不能跳过它? –
+0
是的,我实际上可以跳过它,但只是想知道是否有办法克服它,并且我认为instanceof不能⽤于通⽤环境 –
+0
是的你是正确的。 –

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。