![](/img/trans.png)
[英]Java defining generic class as parameter for static method, to pass entity objects
[英]Class as parameter on static method - Java
我想创建静态方法,并在该方法上使用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;
}
该代码将出错...有人可以给我建议如何完成该感谢
由于您始终希望保持类型安全,因此最好的解决方案是使用通用方法 ,该方法是带有类型变量的方法。
在您的情况下, ObjectMapper::readValue
已经是通用方法,因此您需要的是对声明使用正确的语法:
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);
}
这样,Java 类型推断就可以发挥作用,而您无需指定任何内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.