java - 与将 java.lang.Class<T> 类型的对象传递给方法相关的实际场景

标签 java object

我承认我很想知道任何实际情况,其中需要将 java.lang.Class 的对象类型或简单的任何 *.class 名称传递给 java 中的方法,并且可能会使用这样的对象:

如下面的代码所示,虽然下面是一个构造函数,但我想知道是否有与此相关的一般用法:

public CustomerFacadeREST() {
        super(Customer.class);
    }

提前致谢!!

最佳答案

这与泛型方法结合使用非常有用:由于类型删除,泛型方法无法使用其泛型类型参数 T在诸如 T.class 之类的结构中。有时,这可能是必要的 - 例如,创建类 T 的新实例.

java.lang.Class<T>在类型本身上是通用的(对于 Customer ,这将是 java.lang.Class<Customer> ),并且因为 Class object 可以用作静态类型对象工厂(即它的 newInstance 方法是通用的,返回 T ),您可以在编译时执行类型安全实例化检查。

参见Class Literals as Runtime-Type Tokens有关此技术的更多信息。

关于java - 与将 java.lang.Class<T> 类型的对象传递给方法相关的实际场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20078547/

相关文章:

java - 验证时如何将PDF注释与签名连接起来?

Java 正则表达式性能 : Reluctant Quantifier or Character Class?

java - 连接池、jdbc、jndi的区别

javascript - 如何将 JSON 响应的特定元素插入数组?

javascript - 将参数传递给 forEach.call 中的函数

javascript - 访问对象内数组的元素

list - 引用 相等 Python

java - 如何访问 HttpMessageNotReadableException 中的 _path 属性

java - FIN ACK TCP 延迟

javascript - 如何将对象中的字符串值转换为数字?