当前位置: 首页 > 知识库问答 >
问题:

功能定义需要澄清[重复]

山乐生
2023-03-14

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

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

他已经定义了访问修饰符、返回类型(或没有)、函数名及其所需参数。它甚至不返回可以进行比较的对象,所以我觉得这有点让人困惑。非常感谢您的帮助。

共有2个答案

韦安顺
2023-03-14

定义表示此方法可能需要T类型的对象数组(请参见T的第二种用法),并且此T需要定义为实现可比较的接口。

在这种特定情况下,要求实现此接口的参数的目的是,此方法应只关注特定排序算法的实现,而无需处理排序的细节,同时允许对任何类型的对象(实现可比较接口)进行排序。

有关泛型类型和方法的更多信息,请参阅http://docs.oracle.com/javase/tutorial/java/generics/index.html 在可比界面上http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html

越季萌
2023-03-14

[函数]甚至不返回可以进行比较的对象

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

  • 该方法有一个名为T的泛型类型参数,并且
  • 这个方法可以用任何类型的数组调用,该数组实现了

换句话说,你可以用一个Strings、整数s、Doubles以及你自己的任何实现的类的数组调用相同的方法

就比较而言,函数指定数组的元素需要相互比较,因为它们实现了compariable

 类似资料:
  • 我认为用A*算法应该是SAEFG,但答案是SBEFG。现在我的教授是一个无所事事的人。有人能解释为什么是SBEFG吗?

  • 来自 https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-blob#poison 当 Blob 触发器函数失败时... “失败”是什么意思?编译失败?引发未处理的异常? 如果有一些不起作用的示例代码,那就太好了。所有示例代码都显示了工作状态,因此无法演示 Azure 函数中的故障模式。

  • 我们有申报单 其中backlog被标识为传入连接的最大队列长度。如果连接指示在队列已满时到达,则会拒绝连接。 假设积压设置为10。 这是否意味着服务器套接字将接受不超过10个客户端? 然后: 只有当时,积压数才会下降。这是正确的吗? 有没有办法知道一个套接字当前正在处理多少个打开的连接(换句话说,它离放弃并开始拒绝新连接有多近)

  • 需求:创建一个多租户应用程序,该应用程序应该根据请求中的租户id将每个租户的数据插入到各自的PDB中。换句话说,每个租户或客户在CDB中都有自己的PDB,所有PDB都有相同的模式,然后根据请求中的租户Id选择一个数据源,并将数据插入到该PDB中。 Stack-Spring boot 2.3.0.发行版,Oracle 18c,连接池-Oracle共享通用连接池 UCP连接: Spring数据源配置类

  • 我需要一些帮助来澄清写关注的概念,我使用MongoDb 4.0.2(带副本集)和java-mongo驱动程序3.8.1 我已经在mongo配置中添加了关于 在代码端,何时可以使用数据库的ack响应?我发现,当使用delete或update时,库返回一个Result对象(作为deletesult),其中包含一个函数,用于获取集合中多数副本的delete/update结果。 但是我找不到一个类似的所有

  • 我现在正在阅读Instagram的设计,我发现了对他们负载平衡系统的这样一个描述。 每个对Instagram服务器的请求都要经过负载平衡机;我们曾经运行过2台nginx机器,并在它们之间进行DNS循环。这种方法的缺点是DNS更新所需的时间,以防其中一台机器需要取消使用。最近,我们开始使用Amazon的弹性负载平衡器,它后面有3个NGINX实例,可以进行交换(如果运行状况检查失败,它们会自动停止循环