是否有可能获得一个实例Class<SomeGenericClass<SomeType>>
?
例如,Class<ArrayList<String>>
没有实例化的实例ArrayList<String>
。
@SuppressWarnings("unchecked")
public static <T> T castToGeneric(Object objectToCast, T typeInferrenceClass) {
return (T)objectToCast;
}
// usage
Object someObject = null /* initialised elsewhere */;
List<String> listOfStrings = castToGeneric(someObject, new ArrayList<String>());
// I want to avoid having to create - new ArrayList<String>();
我知道这段代码很丑,我不应该这样做。但我们在我们所在的地方......