gpt4 book ai didi

java - 如何在 Java 中对泛型类型设置约束?

转载 作者:IT老高 更新时间:2023-10-28 20:48:11 29 4
gpt4 key购买 nike

我有一个通用类:

public class ListObject<T>
{
// fields
protected T _Value = null;
// ..
}

现在我想做如下的事情:

ListObject<MyClass> foo = new ListObject<MyClass>();
ListObject<MyClass> foo2 = new ListObject<MyClass>();
foo.compareTo(foo2);

问题:

我怎样才能定义 compareTo() 方法与通用 T 相对应?

我想我必须以某种方式对通用 T 实现约束,以告知 T 实现了特定接口(interface)(可能是 Comparable,如果存在的话)。

谁能给我一个小代码示例?

最佳答案

请阅读此处的讨论:Generics and sorting in Java

简短的回答,你能得到的最好的答案是:

class ListObject<T extends Comparable<? super T>> {
...
}

但也有理由只使用:

class ListObject<T extends Comparable> {
...
}

关于java - 如何在 Java 中对泛型类型设置约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2081663/

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