2011-12-19 33 views
5

Ben aşağıdaki gibi bir enum vardır: özelliklerindebir enum türünün özellikler dosyasından bir değer nasıl okunur?

public enum EnvironmentType {PRODUCTION, TEST, DEVELOPMENT} 

anahtar değeri gibidir dosyası:

app.environmentType = TEST 

biz i tuşunu kullanarak dosyası özelliklerinden değeri okuduğunda, String olarak döner biliyoruz

String envType = properties.getProperty("app.environmentType"); 

Benim gerekliliktir,

EnvironmentType envType = EnvironmentType.TEST; 
0 gibi

Şimdi bunun değeri enum türüne sahip olmanın bir yolu olduğunu bilmek isterim? parse veya cast nasıl yapabilirim?

cevap

3
EnvironmentType envType = EnvironmentType.valueOf(envTypeString); 
+0

+1. Benim çözümümden çok daha zarif. – Zohaib

+4

"envTypeString" enum sabitlerinden birine karşılık gelmeyen bir şey içeriyorsa bu, 'IllegalArgumentException' değerini atar. Bu, değerin geçerli olup olmadığını kontrol edebilirsiniz. – Jesper

3

Sen şöyle valueOf yöntemini kullanabilir:

String envTypeStr = properties.getProperty("app.environmentType"); 
EnvironmentType envType = EnvironmentType.valueOf(envTypeStr); 

statik yöntemler valueOf() ve values() derleme sırasında oluşturulur ve kaynak kodunda görünmez. Fakat java kütüphanesinde bazı enumaration belgelerinde yer alırlar. Örneğin, bkz. SortOrder ve Normalizer.Form

İlgili konular