作者TonyQ (骨头)
站内java
标题Re: [问题] class变数存取问题
时间Wed Mar 15 21:52:21 2006
※ 引述《PsMonkey (痞子军团团长)》之铭言:
: ※ 引述《TonyQ (骨头)》之铭言:
: : 是啊 是这样没错
: : 那我们的讨论差不多就可以到这里打个段落了吧XD
: 可是你没有回答我关於这段的问题
你这段只有讲到Comparator的用法
说的很正确啊 XD 那还有甚麽问题啊??
: //引言开始
: : Comparator主要是给容器用的吧 (也就是List)
: : 而Comparable应该是给被容纳的东西去implement的吧 (也就是object)
: //引言结束
: 我觉得这样子的观念不对,所以才会写上一篇文章
: 然後你回文章的时候就一路说 "对~ 就是这样子" 然後就说结束讨论
: 我觉得很 Orz 阿
我怎麽开始有一种鸡同鸭讲的感觉 -.-
我的意思,
以TreeSet的例子来讲
Comparator给谁用的 给TreeSet去用的啊 (容器)
Comparable是谁去implement ? 是Object去implement (被容纳的东西)
你有看过TreeSet implement comparable
或Object 建Comparator的吗 XD
至少就API里面好像没有XD
可是TreeSet跟TreeMap倒是都有Comparator的建构子,
而常用的Object也几乎都implements Comparable XD
: : ----------
: : //此时因为找不到compare,所以产生java.lang.ClassCastException:
: : -----------------------------------------------------------------
: : <解一>
: : 这是因为Person并没有implement Comparable的关系,如果
: : Person也去implement Comparable就可以解决了。
: : 比方说在Person内加上类似这段程式码这样的东西就ok了
: 挑语病...
: 这边应该要讲:
: Person 去 implement Comparable 然後加上类似这段程式码就 OK 了
: 不然,怎麽觉得两句没有直接关系
: : TreeSet Default的Comparator规则到底是甚麽啊
: : 可恶 刚刚翻半天文件 翻不到只好蛮力硬干XD
: default? 就是物件本身的 Comparable 的 compareTo 阿...
: 不然怎麽会出现 ClassCastException?
那时候翻各物件的compareto 几乎都只支援同型的比较XD
(比方说Integer的就只能跟 Integer的比较)
所以後来乾脆都用String去做比较 管它的~XD
现在想想
可能该先转型成 Comprable再写compareTo
没实做不知道 XD
--
Local
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.138.240.58