gpt4 book ai didi

java - 在继承层次结构中声明具有两个类型参数的方法的正确方法

转载 作者:行者123 更新时间:2023-12-01 13:53:39 29 4
gpt4 key购买 nike

当编写一个采用两个对象且具有子类型-父类型关系中的两个类型参数的方法时,从这些选项中声明您的意图的最佳方式是什么?

  1. 同时声明 superextends :

    public static <T> void copy(List<? super T> dst, List<? extends T> src) { ... }
  2. 仅声明 extends :

    public static <T> void copy(List<T> dst, List<? extends T> src) { ... }
  3. 仅声明 super :

    public static <T> void copy(List<? super T> dst, List<T> src) { ... }

根据我的理解,这三个都是正确的,并且彼此等效,因为您感兴趣的是 dst 类型参数的相对继承。和src 。那么哪个更好呢?

最佳答案

我认为扩展是最常见的,如果不需要两者都使用,则不应使用。所以我只会选择扩展。

所以没有正确的方法,除非你有一个指定它的约定。

关于java - 在继承层次结构中声明具有两个类型参数的方法的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19766004/

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