gpt4 book ai didi

java - 函数定义需要澄清

转载 作者:行者123 更新时间:2023-12-01 23:10:39 25 4
gpt4 key购买 nike

在我们教授的代码中,他定义了他的冒泡排序函数(和其他排序函数),如下所示:

public static <T extends Comparable<T>> void bubbleSort(T[] array) {
\_______________________/
|
This is the part I don't understand.

他已经定义了访问修饰符、返回类型(或缺少返回类型)、函数名称及其所需参数。它甚至不返回可以进行比较的对象,所以我觉得这有点令人困惑。将不胜感激任何帮助。

最佳答案

[the function] doesn't even return an object that can be subject to comparisons

签名的定义方式是将排序后的值放回到原始数组中。方法的返回类型是 void ;你强调的部分说的是

  • 该方法有一个名为 T 的泛型类型参数,以及
  • 可以使用实现 Comparable<T> 的任何类型的数组来调用此方法。

换句话说,您可以使用 String 数组调用相同的方法。 s,Integer s,Double s,以及您自己的任何实现 Comparable<T> 的类界面。

就比较而言,该函数指定数组的元素需要相互比较,因为它们实现 Comparable<T> 。此时,您的排序函数应该具有您需要的一切 - 即要排序的项目数组,以及将两个项目相互比较的方法。这两个条件足以实现任何基于比较的排序算法。

关于java - 函数定义需要澄清,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22074270/

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