gpt4 book ai didi

Java - 比较

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:07:41 27 4
gpt4 key购买 nike

我是java新手。任何人都可以给出以下类声明的含义

public class ListNode<K extends Comparable<K>, V> {
K key;
V value;
ListNode<K, V> next;
ListNode(K key, V value,ListNode<K,V> next) {
this.key = key;
this.value = value;
this.next = next;
}
}

最佳答案

有一个类允许构造新的ListNode秒。每次构造一个 ListNode您需要指明 ListNode类型你想要的,类型的一部分是实现 Comparable 的不同类接口(interface)和其他类可以是任何东西。

ListNode<Date, String> node = new ListNode<>();

是一个例子。

有了这样的例子,你就会有一个 ListNode看起来更像:

public class ListNode {
Date key;
String value;
ListNode<Date, String> next;
ListNode(Date key, String value, ListNode<Date,String> next) {
this.key = key;
this.value = value;
this.next = next;
}
}

< 之间的东西和 >是泛型类型,是 Java 的一个特性,更为人所知的是 "Java Generics" .你应该仔细阅读它。它稍微超出了一篇文章中完整解释的范围,但希望上面的例子能给你一个想法。它允许编写一个通常采用伪类型参数的类。

The comparable interface是一个特殊的接口(interface),它提供某种类型的线性排序。例如,您可以按字母顺序对字符串进行排序,在这种情况下,您会得到类似

public StringComparator implements Comparable<String> ....

它的工作原理是 Comparable强制定义方法实现的关键字。

public int compareTo(String other) {
...
}

如果返回的整数为负,则另一个出现在此项之前,如果返回值为正,则另一个出现在此项之后,如果返回值为零,那么这两个项目(为了排序目的)是等价的.

关于Java - 比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19173812/

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