作者TonyQ (骨头)
看板java
标题Re: [问题] class变数存取问题
时间Wed Mar 15 09:38:21 2006
※ 引述《KiroKu (kyo)》之铭言:
: ※ 引述《PsMonkey (痞子军团团长)》之铭言:
: 打错了....variable吧...orz
: : 请参考 tkcn 的大作
: : http://pt2wiki.twbbs.org/Wiki.jsp?page=Modifier
: 你的意思是叫我用继承的关系去存吗?
: 可是我两个class间并无这种关系
: 我要做的是一个list跟他的资料项
: (网站挂一下CSS吧?)
这里的是哪一种list
讲list会想到collection的那个list...
还有表单的那个list....
不过个人揣测它的意思应该是设成同一个package。XD
不然就是把资料项直接纳到list内部当data member去
这应该是比较常见的用法吧
(总觉得你原文的public感觉应该是在说static...orz)
: : 先说,JDK 5.0 的语法我没研究过
: : 不过根据看板上的文章,Java 应该是没有提供 operator override
: : 如果以 1.4 来说
: : 你可以将 XXXX implements Comparable
: : 然後改成判断 a.compareTo(b) == 1
: : 最後,写 Java,请用 Java 的思维
: 那应该是T要去定义compareTo吧??而且也不能保证每种T都适用
下次请先把需求讲清楚,不要浪费大家时间去
猜测你要的东西,XD
所以你的需求是要每种T都适用的operator?
简单来说,像PsMonkey讲的,Java没办法overriding operator,
你前文提到要比较a跟b,A跟B本来就是T,所以当然是从t下手。
(你也得先知道要比对T的甚麽条件才能 overriding operator吧??:P)
不然就用comparable的东西了,
目前Comparable的Implementing Classes: (from
http://0rz.net/85189 )
Authenticator.RequestorType,
BigDecimal, BigInteger, Boolean, Byte,
ByteBuffer, Calendar,
Character, CharBuffer, Charset, CollationKey,
CompositeName, CompoundName, Date, Date,
Double, DoubleBuffer,
ElementType,
Enum, File,
Float, FloatBuffer, Formatter.BigDecimalLayoutForm,
FormSubmitEvent.MethodType, GregorianCalendar, IntBuffer,
Integer,
JTable.PrintMode, KeyRep.Type, LdapName,
Long, LongBuffer,
MappedByteBuffer,
MemoryType, ObjectStreamField, Proxy.Type, Rdn, RetentionPolicy,
RoundingMode,
Short, ShortBuffer, SSLEngineResult.HandshakeStatus,
SSLEngineResult.Status,
String, Thread.State, Time, Timestamp,
TimeUnit, URI, UUID
如果是要比较通用的t,
又要达到这个目的,上面有列出来的东西是都可以做得到,
至於T,可以限制输入的东西,这是一种作法。
只让使用者输入有定义的资料型别,有时候这样的需求就够了。
(直接在method parameter的地方就用comparable当instant)
另外一种作法是,给非comparable的class一个通用的标准,
比方说照着hashcode去排序,或照着list先後放入的顺序去排序等等。
如果使用者有非comparable物件的需求,
再让他们自己去overriding那个method或comparator。XD
看你是想要自己写method,还是写Comparator(
http://0rz.net/db05D ),
都ok,个人是比较偏好用Comparator。
(记得Java现行的 TreeMap 跟 TreeSet好像都是这一类的,
提供一个建构子有Comparator可供使用者自行撰写,然後在作排序。:P)
: 我本来是学C++的
: 老师上课都在上API= =...
API学的好会很省力是真的........:P
只是Java把很多model的概念也混入API,
有时候用起来让人觉得很隐晦不明。特别是GUI......
--
这篇写的有点长,
如果有甚麽地方有疏失或待改进或看不懂的地方,可以再提出来讨论。:)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.138.240.58