Kotlin-第10課-列舉(Enum)

Vincent Zheng
Nov 10, 2019

--

對於同一個類別,絕大多數的物件都有自己的屬性組合,就像產品一樣,有各自的名稱、價格、材質等。而有些類別,它的物件就只有固定那幾個而已。例如網站的會員級別可分為銅、銀、金,大學的學院可分為商業、語文、電資、藝術等。

像這種只有固定物件的類別,可以採用「列舉」(enumeration)的概念來設計。在寫程式的期間就定義好各個物件,並直接利用。

本文已經從 Medium 搬家至 Blogger,請到以下網址繼續閱讀文章。
https://chikuwa-tech-study.blogspot.com/2021/05/kotlin-enumeration.html

此處僅保留先前其他讀者留下的 Highlight。

Enum類別提供了內建的屬性與方法,能取得列舉物件的名稱,或藉由名稱字串來取得對應的物件。

「name」屬性代表列舉物件的名稱。使用「valueOf」方法,可傳入字串,並取得名稱相符的物件(大小寫需相符)。若物件不存在,會拋出例外。另外,「toString」方法預設會回傳name屬性,因此也能自行使用或覆寫。

建立一個List,存放著不同幣別的存款帳戶。透過「sortedBy」方法,可以將元素依照指定的屬性來排序。在這部份,排序的依據是幣別的序數,因此存款帳戶的順序都會排列成與幣別的宣告順序相同。

sortedBy方法中的「it」,代表的是元素本身。

如果想要取得所有列舉出的物件,可以使用「values」方法,它會回傳一個包含全部列舉物件的陣列。

--

--

Vincent Zheng

我是Vincent,是個來自資管系的後端軟體工程師。當初因為學校作業,才踏出寫部落格的第一步。這裡提供程式教學文章,包含自學和工作上用到的經驗,希望能讓讀者學到東西。我的部落已搬家至 https://chikuwa-tech-study.blogspot.com/