--- tags: Java --- # 2/4 Enum ## Enum * 是一種特殊類別(class),擁有類別的某些特性,例如:可以實作(implement)介面(interface)。 * 也可以定義抽象方法並覆寫(override)。 * 從JDK5之後新增了enum語法,對於列舉常數的應用方式,參數接受的是int型態,這表你可以傳入任何的int值。 ``` enum Category { 資訊(1), 食譜(2), 旅遊(3); int code; Category(int code){ this.code = code; } } ``` * 宣告常數時,通常使用大寫字母,並可以底線來區隔每個單字以利識別,例如像TURN_LEFT這樣的名稱。 * 可以加建構子,建構子是隱含性的private,private修飾詞可寫可不寫,但不能變更為public。 * 在JAVA 1.7擴充switch的功能後,便可以使用列舉做為引數,使得程式碼更為簡潔、易讀,更容易理解程式碼。 > [深度挖掘Java列舉(enum)](https://tpu.thinkpower.com.tw/tpu/articleDetails/1432) Q: 為何Comparator後面要加<型別> Q: 為何import java.util.* ,可以導入,但java.util.regex.* 會不行 Ans: 因為兩個是不同package,要個別導入。 Q: 樂透改用TreeSet去裝在選球   Q: Collection ArrayLsit去跟書籍contains是否能true Ans: contains會去查看此集合是否包含指定元素,若包含至少一個包含指定元素(o==null ? e==null : o.equals(e)),會回傳true。 Q: Collection HashSet除了比出跟書籍contains是否能true,並印出來不能重複 Ans: HashSet 具體實現時,會用一個table去存放hashCode ,hashCode沒有重複會直接存入,若重複會再用equals方法去比較元素是否相同,在Set中相同資料就不會塞到集合內了。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up