gpt4 book ai didi

java - 如何在调用泛型方法时为泛型指定 "type"

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

我遇到的问题是javac认为T没有实现compareTo()。那么我怎样才能做到这一点,同时仍然保持“通用”。转换为特定类型是否会破坏使用泛型类型的目的?

public class Tree<T> implements Comparable<T> {

private T value;


public T getValue() {
return value;
}

@Override
public int compareTo(T arg0) {
// TODO Auto-generated method stub
if (this.getValue() != null) {
return this.getValue().compareTo(arg0); // compilation problem
}
}
}

最佳答案

您需要将泛型类型参数细化为 Tree<T extends Comparable<T>> -- 否则编译器不知道你的 T对象有一个 compareTo(T t)为其定义的方法。

关于java - 如何在调用泛型方法时为泛型指定 "type",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7690852/

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