1. 程式人生 > >在JAVA中如何根據列舉索引值來獲取列舉值(範型適用)

在JAVA中如何根據列舉索引值來獲取列舉值(範型適用)

我們知道在JAVA編寫一個列舉類之後,在呼叫時系統就會自動給它生成一個values()的陣列,通過這個陣列就可按索引獲取列舉值

但是如果我們宣告的是一個列舉的範型類呢?我們知道所有的JAVA列舉類,其實都是繼承Enum類的,然而Enum只有一個靜態的方法valueOf(),用於把字串轉化成列舉值。可是如果想把索引值轉化成列舉值呢,怎麼辦?

咋一看,Enum下面似乎真的沒有這麼一個方法可以讓你實現這個需求。現在我們想回開頭說的那個values()陣列,它的真身其實就是:Class類下面的getEnumConstants()!於是這個需求就輕鬆解決了:

列舉類.class.getEnumConstants()[列舉索引]