gpt4 book ai didi

java - 使用两个不同的泛型参数调用泛型函数仍然可以编译

转载 作者:搜寻专家 更新时间:2023-11-01 01:18:07 24 4
gpt4 key购买 nike

下面的代码怎么可能编译通过?据我所知,count 函数是用两种不同的类型调用的,但编译器并没有提示,而是愉快地编译了这段代码。

public class Test {
public static <T> int count(T[] x,T y){
int count = 0;
for(int i=0; i < x.length; i++){
if(x[i] == y) count ++;
}
return count;
}
public static void main(String[] args) {
Integer [] data = {1,2,3,1,4};
String value = "1";
int r =count(data,value);
System.out.println( r + " - " + value);
}
}

最佳答案

T 被向上强制转换为 ObjectInteger[] 可以向上转换为 Object[]String 可以向上转换为 Object,并且它类型检查。

关于java - 使用两个不同的泛型参数调用泛型函数仍然可以编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9928723/

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