类作为静态方法上的参数-Java
我想创建静态方法,并在该方法上使用jackson将json转换为某个对象。我不知道如何在静态方法中使用类作为参数 这是我的代码:类作为静态方法上的参数-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
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可以正常工作,而无需指定任何内容。是否根据作为参数传递的类创建不同的对象?是否根据作为参数传递的类创建不同的对象?