gpt4 book ai didi

java - 基本类型与泛型类型的比较

转载 作者:行者123 更新时间:2023-12-01 07:06:43 24 4
gpt4 key购买 nike

如何将泛型成员与原始类型进行比较?

说,

void method(T k) {
if(k < 10) ...
}

与 C/C++ 不同,Java 中不能重载运算符,对吗?为了评估上面的代码片段,我是否必须将 k 转换为实际类型?有没有比使用强制转换更优雅的方法来解决这个问题?

最佳答案

您的泛型类型可能被迫实现某个接口(interface),该接口(interface)在单独的方法中进行比较。在此版本中,您的 T 类也可以从另一个类派生。

public interface CompareToInt {

public boolean less(int that);
}

你的类和你的方法:

public class Dummy<T extends CompareToInt> {

void method(T k){
if (k.less(10)){
// ... do stuff
}
}
}

编辑:

我的解决方案受到 popalka 的启发

关于java - 基本类型与泛型类型的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22269253/

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