Re: [問題] OCJP SE6題目 - enum

看板java作者 (ˊ__>ˋ)時間8年前 (2017/02/20 00:19), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《uopsdod (pcman)》之銘言: : Given: : enum Exaplme {ONE, TWO, THREE} : Which statement is true? : A. The expressions (ONE == ONE) and ONE.equals(ONE) are both guaranteed to be : true. : B. The expression (ONE < TWO) is guaranteed to be true and ONE.compareTo(TWO) : is guaranteed to be less than one. : C. The Example values cannot be used in a raw java.utilHash.Map; instead, the : programmer must use a java.util.EnumMap. : d. The Example values can be used in a java.tuil.SortedSet, but the set will : NOT be sorted because enumerated types do NOT implement java.lang.Comparable : ------------------ : The answer: A : 想請問B,C,D是哪部分錯了, 這題不會得太多,實在沒有辦法做判斷。 : A我倒是較能理解,因為ONE其實會是一個繼承Enum的類別,所以ONE==ONE物件記憶體位置 : 相同; ONE.equals(ONE), 我只知道System.out.println(Example.ONE); 會得到字串 : ONE, 所以知道會對。 : 跟大家請教一下了,謝謝 看一下父類別的原始碼其實不難理解 http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/lang/Enum.java Enum 除實作 java.lang.Comparable<E> 外, 還將 equals() 及 hashCode() 都宣告為 final enum 不是基本型態,因此是沒辦法使用 "<" 運算元的 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.171.55.161 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1487521168.A.626.html

02/20 21:01, , 1F
感謝。 本來以為enum會重在內部自己新定義 < 運算元。
02/20 21:01, 1F

02/21 07:15, , 2F
java沒有operator overloading,唯一較特別的只有string +
02/21 07:15, 2F

02/21 23:49, , 3F
感謝大家 了解了!
02/21 23:49, 3F

02/23 09:38, , 4F
唯「二」比較特別的是String 的 + 和+= :P
02/23 09:38, 4F
文章代碼(AID): #1OgSMGOc (java)
文章代碼(AID): #1OgSMGOc (java)