我需要在实用工具类中添加带有静态方法的方法,该方法可以解析JSON字符串中的内容并返回内容数组。
问题是这些东西有各种子类型,因此我创建了此方法:
public static <E extends Thing> E[] parseThingsFromJSON(String body) { return parser.fromJson(body, E[].class); }
呼叫者如何告诉该方法是什么E?还是有更好的方法来做到这一点?
E
您需要通过它。
public static <E extends Thing> E[] parseThingsFromJSON(String body, Class<E[]> eClass) { return parser.fromJson(body, eClass); }
泛型在很大程度上是编译时的功能。这意味着它在运行时不可用(某些例外)
在这种情况下,要使泛型类型在运行时可用,必须将其作为附加参数传递。