有沒有一種方法來識別給定的對象是一個枚舉值?斯卡拉枚舉爲int
x.isInstanceOf[Enumeration.$Value]
似乎並沒有工作,從我的理解路徑依賴的類型,不應該。
我想編寫一個給定的任何枚舉值的函數,返回其ID。或者,將Enumeration轉換爲Int的隱式也會很好。
有沒有一種方法來識別給定的對象是一個枚舉值?斯卡拉枚舉爲int
x.isInstanceOf[Enumeration.$Value]
似乎並沒有工作,從我的理解路徑依賴的類型,不應該。
我想編寫一個給定的任何枚舉值的函數,返回其ID。或者,將Enumeration轉換爲Int的隱式也會很好。
x.isInstanceOf[Enumeration#Value]
適合我。從specification, Section 3.2.2 "Type Projection"。
類scala.Enumeration.Value有一個成員字段「ID」,其是內部整數值。如果沒有特別說明,則從0開始。
scala> object Weekday extends Enumeration {
| val Mon, Tue, Wedn, Thur, Fri, Sat, Sun = Value
| }
defined module Weekday
scala> Weekday.Mon.id
res5: Int = 0
您應該解釋您的代碼 - 它被列爲「低質量帖子」的risc。 – davidkonrad
你如何指定它? – Ruslan