栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java泛型:多个泛型参数?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java泛型:多个泛型参数?

是的-可能的(虽然不是使用方法签名),是的,使用签名的类型必须相同。

使用给定的签名,

T
必须在呼叫站点将其与单个类型(例如
String
Integer
)相关联。但是,您可以声明采用多个类型参数的方法签名

public <S, T> void func(Set<S> s, Set<T> t)

请注意,在上面的签名中,我已经声明了类型

S
以及
T
签名本身。因此,它们不同于并独立于与包含该函数的类或接口相关联的任何泛型类型。

public class MyClass<S, T> {   public        void foo(Set<S> s, Set<T> t); //same type params as on class   public <U, V> void bar(Set<U> s, Set<V> t); //type params independent of class}

您可能想看看

java.util
包中集合类的一些方法签名。泛型确实是一个相当复杂的主题,尤其是在考虑通配符(
? extends
?super
)时。例如,通常情况下,可能将
Set<Number>
用作参数的方法也应接受
Set<Integer>
。在这种情况下,您会看到这样的签名:

public void baz(Set<? extends T> s);

不确定

int
从函数返回an 的意义是什么,尽管您可以根据需要这样做!



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/440438.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号