我想编写一个需要Class.class作为参数的函数
示例:
class MyObject{
public whatTypeGoesHer MyFunction(something1, something2){
//do something with parameters
}
}
class MyObject1{
MyObject object = new MyObject();
MyObject1 object2 = object.MyFunction(MyObject1.class,something else);
}
这种类型的调用是我想要实现的,我如何定义“MyFunction”来接受这种类型的参数?
应该是什么而不是“whatTypeGoesHere”?
编辑:
让我重新解释一下这个问题
这是我的代码:
public static User fromJSON(String json, Class<?> className) {
GsonBuilder builder = new GsonBuilder();
builder.serializeNulls();
User g1 = builder.create();
User user = g1.fromJson(json, className.getClass());
return user;
}
及其在使用过的类中的调用
User user = User.fromJSON(json,User.class);
我想把“fromJSON”方法放到一些utils类中,因为在每个类中它都是完全相同的,它返回的类名不同
我该怎么做?
答案 0 :(得分:10)
您需要Class<?>
类型的参数:
public void myFunction(Class<?> something1, SomeOtherType something2)
您应该通过Reflection Tutorial
答案 1 :(得分:2)
你的意思是这样的:
public <T> void MyFunction(Class<T> something1, SomeOtherType something2){
// T= type parameter inside method
}