gpt4 book ai didi

java - 当类具有有界类型参数时使用有界通配符

转载 作者:行者123 更新时间:2023-11-30 08:27:54 25 4
gpt4 key购买 nike

假设我有一个类

public static class A<T extends D> { ... }

和类D用两个类扩展它:BC ,例如

public static class D { ... }
public static class B extends D { ... }
public static class C extends D { ... }

现在,假设在某个地方我想要一个 A 的数组的,无论属于B -种类或C -种类。 (例如,将类 D 中的函数应用于数组中的所有项。)

然后我应该再次约束类型吗?

换句话说:这些选项中的哪一个是合适的?

  1. A<?>[] re;

  2. A<? extends D>[] re;

哪个是最佳实践?

最佳答案

T上限为 D , A<?>只是 A<? extends D> 的简写.它们的意思相同 - 就像 if T是无界的,A<?>将是 A<? extends Object> 的缩写.

关于这种语法,我不知道有什么最佳实践;我认为这只是编码风格的问题。我更喜欢 A<?>因为它很简洁,虽然A<? extends D>立即将上限传达给不熟悉 A 的开发人员.

关于java - 当类具有有界类型参数时使用有界通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20542474/

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