Java 泛型未经检查的强制转换 - 可以在运行时检查吗?

Kim*_*ble 2 java generics casting

// @SuppressWarnings("unchecked")
private <T> T extractResult(Continuation continuation) {
    Object result = continuation.getAttribute("result");
    return (T) result;
}
Run Code Online (Sandbox Code Playgroud)

是否(在运行时)可以验证result可以转换为T

Mat*_*ell 5

不可以。要在运行时检查,您需要一个类的实例,以便您可以使用isAssignableFromT由于类型擦除,您无权使用此方法。