gpt4 book ai didi

java - 如何在通用参数中指定我的数据类型

转载 作者:行者123 更新时间:2023-12-01 19:44:51 27 4
gpt4 key购买 nike

嘿,我想做的事情与 java 泛型有关,是否可以在我的参数中指定类的泛型类型?我无法很好地描述它,这就是为什么我会尝试使用以下类的示例:

public class List<T>

是否可以指定我的 T,因为我希望它只是整数或 boolean 值?

最佳答案

您不能直接在泛型类类型中指定此约束,如 ernest_k 所解释的,因为这两种可能的类型没有任何比 Object 共同的祖先,这意味着最终没有约束。
但您仍然可以让您的类 API 强制执行此约束。
将构造函数设为私有(private)并提供工厂方法。

public class Foo<T> {

private Foo(){}

public static Foo<Integer> ofInteger(){
return new Foo<>();
}

public static Foo<Boolean> ofBoolean(){
return new Foo<>();
}

}

并使用它,例如:

Foo<Boolean> booleanFoo = Foo.ofBoolean();
Foo<Integer> integerFoo = Foo.ofInteger();

关于java - 如何在通用参数中指定我的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53779423/

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