gpt4 book ai didi

java - 可选的泛型类型参数

转载 作者:行者123 更新时间:2023-12-01 10:47:32 26 4
gpt4 key购买 nike

我想声明一个适用于三胞胎的通用类-keyvaluemetadatakeyvalue字段是必填字段,但metadata字段是可选字段。

class Triplet<K,V,M>{
K key;
V value;
M metadata;
//setters and getters
}
使用上面的类时,我必须像下面这样初始化它-
Triplet<Integer, String, String> t1 = new Triplet<>();
// Setters
但是对于某些用例, metadata是可选的。因此,当我使用 null作为第三个类型参数时,编译器给出了一个错误-
Triplet<Integer, String, null> t2 = new Triplet<>();
我应该如何正确实例化适用于多种类型的参数化类型,其中在使用站点指定的类型参数之一是可选的?

最佳答案

您可以使用Void例如

Triplet<Integer, String, Void> t2 = new Triplet<>();

关于java - 可选的泛型类型参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63393807/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com