gpt4 book ai didi

java - 方法前面的泛型是什么意思?

转载 作者:行者123 更新时间:2023-12-01 19:31:17 24 4
gpt4 key购买 nike

我发现了一个基本上如下所示的函数:

<R> MyClass<R> functionName(){}

我不知道<R>是什么就在前面意味着我通过谷歌搜索并没有真正找到任何东西。我知道泛型是什么,只是不知道它们在特定位置的作用。

最佳答案

它可以让您编写可以充当任何类型的通用帮助器方法的方法。

下面是反转 List 实现的内容并将其返回到 ArrayList 中的示例。

        List<String> liststr = new ArrayList<>(List.of("A","B","C"));
List<String> reversed = reverse(liststr);
System.out.println(reversed);

List<Integer> listint = new ArrayList<>(List.of(1,2,3,4));
List<Integer> reverseint = reverse(listint);
System.out.println(reverseint);

方法如下。


public static <T> List<T> reverse(ArrayList<T> list) {
List<T> rev = new ArrayList<>();
for (int i = list.size()-1; i >= 0; i--) {
rev.add(list.get(i));
}
return rev;
}

这可以通过不同的方式完成,但需要对返回值进行转换,并且还可能生成运行时 转换异常

与所有泛型方法和类一样,类型冲突将在编译时解决,而不是在运行时解决。

关于java - 方法前面的泛型是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59707986/

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