类作为静态方法上的参数-Java

类作为静态方法上的参数-Java,java,android,jackson,Java,Android,Jackson,我想创建静态方法,并在该方法上使用jackson将json转换为某个对象。我不知道如何在静态方法中使用类作为参数 这是我的代码: static Object stringToObject(String jsonString, Class someClass) { ObjectMapper mapper = new ObjectMapper(); SomeClass Object = mapper.readValue(jsonString, someClass.clas

我想创建静态方法,并在该方法上使用jackson将json转换为某个对象。我不知道如何在静态方法中使用类作为参数

这是我的代码:

  static  Object  stringToObject(String jsonString, Class someClass) {
    ObjectMapper mapper = new ObjectMapper();

    SomeClass Object =  mapper.readValue(jsonString, someClass.class);
    //handling some exception


    return Object;
}

那代码会出错。。。有人能给我一些建议吗?谢谢

既然你总是想保持类型安全,那么最好的解决方案就是使用一个带有类型变量的方法

在您的情况下,它已经是一个通用方法,因此您需要为您的声明使用正确的语法:

static <T> T stringToObject(String jsonString, Class<T> clazz) {
  ObjectMapper mapper = new ObjectMapper();
  return mapper.readValue(jsonString, clazz);
}

static void test() {
   Foo foo = stringToObject("...", Foo.class);
}
静态T stringToObject(字符串jsonString,类clazz){
ObjectMapper mapper=新的ObjectMapper();
返回mapper.readValue(jsonString,clazz);
}
静态孔隙试验(){
Foo-Foo=stringToObject(“…”,Foo.class);
}

通过这种方式,Java可以正常工作,您无需指定任何内容。

因为您始终希望保持类型安全,所以最好的解决方案是使用一个带有类型变量的方法

在您的情况下,它已经是一个通用方法,因此您需要为您的声明使用正确的语法:

static <T> T stringToObject(String jsonString, Class<T> clazz) {
  ObjectMapper mapper = new ObjectMapper();
  return mapper.readValue(jsonString, clazz);
}

static void test() {
   Foo foo = stringToObject("...", Foo.class);
}
静态T stringToObject(字符串jsonString,类clazz){
ObjectMapper mapper=新的ObjectMapper();
返回mapper.readValue(jsonString,clazz);
}
静态孔隙试验(){
Foo-Foo=stringToObject(“…”,Foo.class);
}

通过这种方式,Java可以正常工作,而无需指定任何内容。

是否根据作为参数传递的类创建不同的对象?是否根据作为参数传递的类创建不同的对象?