java 泛刑编程 作两个数比较

mkcing 2012-09-19 08:52:59

public class test<E>{
public int comp(E e1,E,e2){
if(e1 > e2) return 1;
else return 0;
}
}


上面错误提示E没有定义> 操作符,如何解决?
...全文
142 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
mkcing 2012-09-19
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

引用 2 楼 的回复:

e1和e2类型都没定你怎么能直接用>号比较呢?


这个问题问得好。。。

Java里面能用 < > 就那么几种类型!,所以你的泛型只有型,没有实,你还能泛到哪里去呢?


而C++就不存在这个问题。你可以为类型提供< >的操作符重载,使得你的代码更可读,而且也有真正泛型的意义。
[/Quote]

就是,我主要用C++,发现java不能重载操作符
healer_kx 2012-09-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

e1和e2类型都没定你怎么能直接用>号比较呢?
[/Quote]

这个问题问得好。。。

Java里面能用 < > 就那么几种类型!,所以你的泛型只有型,没有实,你还能泛到哪里去呢?


而C++就不存在这个问题。你可以为类型提供< >的操作符重载,使得你的代码更可读,而且也有真正泛型的意义。



lost_guy_in_scut 2012-09-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

楼主可以试试这样
Java code

public class GenericClass<E extends Comparable<E>>{
public int com(E e1, E e2){
return e1.compareTo(e2);
}
}
[/Quote]
+
iGoodLoser 2012-09-19
  • 打赏
  • 举报
回复
楼主可以试试这样

public class GenericClass<E extends Comparable<E>>{
public int com(E e1, E e2){
return e1.compareTo(e2);
}
}
mkcing 2012-09-19
  • 打赏
  • 举报
回复
我知道了
<E extends Comparable<E>>
e1.comparableTo(e2)
菖蒲老先生 2012-09-19
  • 打赏
  • 举报
回复
不是所有的类型都可以想当然的用 > 号来比较大小的。。。
安特矮油 2012-09-19
  • 打赏
  • 举报
回复
e1和e2类型都没定你怎么能直接用>号比较呢?
忧郁的苦笑 2012-09-19
  • 打赏
  • 举报
回复
没明白lz什么意思

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧