gpt4 book ai didi

java - 尽管扩展并实现了 Comparable,但大于通用类型上未定义的运算符

转载 作者:行者123 更新时间:2023-12-02 09:08:56 25 4
gpt4 key购买 nike

我搜索并发现了几个类似问题的实例,但明显的解决方案已经实现,所以我有点不知所措。仅供引用:如果重要的话,这是一项家庭作业。

public class Entry<K extends Comparable<K>, V> implements 
Comparable<Entry<K, V>> {

protected K key;
protected V value;

protected Entry(K k, V v) {
key = k;
value = v;
}

public K key() {
return key;
}

public V value() {
return value;
}

// override toString method
// toString method should print the entry as:
// <key,value>
@Override
public String toString() {
return "<>" + key.toString() + ", " + value.toString();
}

public int compareTo(Entry<K, V> other) {
if (this.key > other.key)
return 1;
else if (this.key == other.key)
return 0;
else
return -1;
}
}

我收到的错误是:

The operator > is undefined for the argument type(s) K, K"

compareTo 方法的第一行。

最佳答案

Java 不支持运算符重载 - < , > , <=>=仅为原始数字类型定义。相反,因为 KComparable ,您可以将其称为 compareTo方法:

public int compareTo(Entry<K, V> other) {
return key.compareTo(other.key);
}

关于java - 尽管扩展并实现了 Comparable,但大于通用类型上未定义的运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29866029/

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