Re: [問題] class變數存取問題

看板java作者 (骨頭)時間19年前 (2006/03/15 09:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/17 (看更多)
※ 引述《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
文章代碼(AID): #145sTeWg (java)
討論串 (同標題文章)
文章代碼(AID): #145sTeWg (java)