java - 将无穷大参数作为输入传递给泛型

标签 java generics

是否可以像 java 中的 varargs 一样将许多参数传递给泛型? 我的意思是,我想要一个带有很多参数的泛型,而不是这种模式:

//A generic class for sample
    @AllArgsConstructor
    @NoArgsConstructor
    @Setter
    @Getter
    public class RequestInfo<T,D> {
            private T param1;
            private D param2;

    }

最佳答案

这里:

public class RequestInfo<T,D> {
        private T param1;
        private D param2;

使用通用类型的要点是……在您的代码中使用它们。因此,没有真正需要(或感觉)具有未知 数量的类型参数)。您知道每个类型参数,因为您打算在类中的某个地方使用它。

即使您生成代码,该生成器也会知道在生成该 java 类之前需要多少(不同)类型。

另一方面,可变参数数组在运行时使用。您可以编写一个遍历该数组的循环,无论该数组是否具有 0、1 或 500 个条目。

含义:可变参数是 A) 语法糖和 B) 主要是“运行时”的东西。泛型几乎与此相反。泛型添加类型 信息,供编译器使用,而且大部分在运行时删除

关于java - 将无穷大参数作为输入传递给泛型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58434950/

相关文章:

json - 快速将 json 解码为通用数组或类

java - 在 Jersey 中实现不同的 URL 路径

java - 处理 unicode �,如何摆脱?安卓/java

java - postInvalidate() 不适用于非 ui 线程

java - 将带有通配符泛型的集合转移到 Java 中的列表

xaml - 带有类型参数的页面

Java 泛型 - 方法签名的上限

java - 发送不带 'root' 的 JSON 对象

java - 在Java中管理错误日志

java - 为什么我的通用实现不起作用? (扩展Comparable<? super T>>)