Java generics unchecked cast - 可以在运行时检查吗?

标签 java generics casting

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

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

最佳答案

没有。要在运行时检查,您需要一个类的实例,以便您可以使用 isAssignableFrom .由于类型删除,您无权使用 T 访问它。

关于Java generics unchecked cast - 可以在运行时检查吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8502514/

相关文章:

C# 3.0 隐式转换错误与泛型类和接口(interface)

python - 在 Haskell 中以通用方式导航 JSON 对象

java - 如何在 eclipse 中将 .war 文件作为 java web 项目依赖项包含在内?

java - Spring引导索引未加载

java - 可以将泛型添加到 Java 中非泛型接口(interface)的实现中吗?

python - 何时使用 int() 以及何时使用 var : int

java - 从 HashSet 中删除元素

java - 如何将 json 内容从 jackson 流式传输到 org.apache.http.entity.InputStreamEntity?

java - 如何理解泛型方法中选择了什么类型而不是T?

C# 交叉引用泛型类