小编sch*_*nie的帖子

通用方法.多个参数匹配

我无法弄清楚为什么这段代码没有错误.

static <T> int compare(T t1, T t2) {
    return 0;
}

public static void main(String[] args) {
    compare(new Thread(), new StringBuilder());
}
Run Code Online (Sandbox Code Playgroud)

因为我们有这样的事情:

static <T> void fromArrayToCollection(T[] a, Collection<T> c) {
    return;
}

public static void main(String[] args) {
    fromArrayToCollection(new Thread[] {}, new ArrayList<StringBuilder>()); // error
}
Run Code Online (Sandbox Code Playgroud)

我们有一个错误.为什么编译器在第一个示例中没有检查两个参数的匹配?抱歉愚蠢的问题.

java generics

4
推荐指数
1
解决办法
80
查看次数

标签 统计

generics ×1

java ×1