Geri yükleme değeri enum ile dönüştürmek veya eşlemek istiyorum, Android'de Yerel koddan uzun veya int şeklinde döndürme değeri alıyorum. Mümkün mü ? Nasıl?int ile enum için eşleşme
cevap
Eğer değerler ve çeteleler tam denetime sahip ve bunlar sıralı iseniz, enum sıra değerini kullanabilirsiniz: Bu ordinal kullanarak çok daha iyi bir yaklaşımdır
enum Heyo
{
FirstVal, SecondVal
}
...later
int systemVal = [whatever];
Heyo enumVal = Heyo.values()[systemVal];
int againSystemVal = enumVal.ordinal();
Enum'unuzu uzun veya int dahili olarak oluşturacak şekilde ayarlayabilirsiniz.
örn:
ePasswordType var = ePasswordType.NUMBER;
int ValueOfEnum = var.getValue();
sadece int bildiğinizde enum almak için, kullanım: Bu dosyayı ePasswordType.java
public enum ePasswordType {
TEXT(0),
NUMBER(1);
private int _value;
ePasswordType(int Value) {
this._value = Value;
}
public int getValue() {
return _value;
}
public static ePasswordType fromInt(int i) {
for (ePasswordType b : ePasswordType .values()) {
if (b.getValue() == i) { return b; }
}
return null;
}
}
Sonra böyle atanan değerleri erişebilir oluştur Bu:
ePasswordType t = ePasswordType.fromInt(0);
Java'daki enumlar Her değer kendi sınıfında olabileceği için güçlüdür.
(). Nedenini öğrenmek için, Etkili Java'yı okuyun –
@Kuffs: Aynı zamanda, tamsayının değerini kullanarak enumu ayarlamak için uygun bir yol var mı? – Levit
@Levit Değer, tasarım zamanında çalışma zamanında ayarlanmadı. Yalnızca int'yi biliyorsanız enum değerini almak istediğinizde, benim düzenlenmiş cevabımı görün. – Kuffs
- 1. Bir Enum bir int nasıl?
- 2. Harita Enum Akıcı NHibernate ile Int ve NHibernate 3
- 3. Bir enum değerini int olarak nasıl serileştiririm?
- 4. fsharp ile eşleşme
- 5. Enum için özelleştirme şablonu
- 6. Hazırlanmış deyimde mysql enum için Java enum
- 7. Tüm satırlar için eşleşme sayısı
- 8. Veritabanındaki Sabitleri (Enum) en iyi nasıl gösterir (INT vs VARCHAR)?
- 9. joda yeni DateTime (int, int, int, int, int, int) weblogic 11g ile
- 10. Int ile BigDecimal dönüştürme int - Java
- 11. Onaltılık Girdi için İmzasız Int ile QSpinBox
- 12. Genel Int-to-Enum Dönüştürücü oluşturmak mümkün mü?
- 13. Bir enum üzerinde int değeriyle yineleme nasıl yapılır?
- 14. Kodlama/Swift (Xcode 6.1) için Decode enum aşağıdaki olmanın enum ile
- 15. Enum için IRouteConstraint
- 16. kapsamlı enum
- 17. Yatay elips ile eşleşme (…) php içinde
- 18. Hazırda bekleme sorunu ile eşleşme sorunu
- 19. Karşılaştırma operatörü kullanarak tuple ile eşleşme
- 20. geri arama işlevini eşleşme ile değiştir
- 21. bitarray ile enum arasında değiştirin
- 22. dönüştürme enum bir enum Uyruk sahip piton
- 23. Enum değerlerini ayrı enum türlerinde yeniden kullanma
- 24. Enum of Enum NULL
- 25. Bir ENUM
- 26. Double int için dönüştürülüyor
- 27. Dönüştürme GHC.Int.Int64 için Int
- 28. int ve imzasız int
- 29. Tam eşleşme bulmak için grep() nasıl kullanılır?
- 30. Enum
Bir numara için "değer" elde etmek için ordinal kullanımı önerilmez. Bunun yerine, bunun yerine bir örnek alanı kullanın. Josh Bloch'un Etkin Java'sının 2. baskısında Madde 31'e bakın. –