Apakah mungkin bagi saya untuk mengonversi menjadi String
nilai yang setara di Enumeration
, menggunakan Java.
Saya tentu saja dapat melakukan ini dengan if-else
pernyataan besar , tetapi saya ingin menghindari ini jika memungkinkan.
Diberikan dokumentasi ini:
http://download.oracle.com/javase/1.4.2/docs/api/java/util/Enumeration.html
Saya tidak terlalu berharap bahwa ini mungkin terjadi tanpa jika atau pernyataan kasus.
Dengan asumsi Anda menggunakan enum Java 5 (yang tidak begitu pasti karena Anda menyebutkan
Enumeration
kelas lama ), Anda dapat menggunakanvalueOf
metodejava.lang.Enum
subclass:sumber
Gunakan metode statis yang
valueOf(String)
ditentukan untuk masing-masingenum
.Misalnya jika sudah
enum MyEnum
bisa Anda katakanMyEnum.valueOf("foo")
sumber
Saya mungkin terlalu banyak merekayasa solusi saya sendiri tanpa menyadari bahwa itu
Type.valueOf("enum string")
benar - benar ada.Saya kira ini memberikan kontrol yang lebih terperinci tetapi saya tidak yakin itu benar-benar perlu.
Saya kira Anda bertukar
IllegalArgumentException
untukRuntimeException
(atau pengecualian apa pun yang Anda ingin membuang) yang bisa berpotensi bersih kode up.sumber