Java enum'larında işlevlerin olması durumunda kafam karıştı. Basit bir html editörü yapıyorum ve html etiketlerini temsil etmek için enumları kullanmak istedim, evet bunun bunun için en iyi yol olmadığını biliyorum, ancak grubumun bunu uygulamaya koyma şekli.Enkelerde Yöntemler
Bu yüzden böyle bir şey yapmaya çalışıyorum, ancak TagEnums.normalTags()
'u aramaya çalıştığımda, bunu statik bir yöntem haline getirmeyi öneririm, sanırım bunun doğru olup olmadığını veya bunun yerine uygulanmasının daha iyi bir yolu olup olmadığını merak ediyorum public static ArrayList<String> normalTags()
public enum TagEnum {
H1, H2, H3, H4, H5, H6, P, B, I, U, BR, HR, RP, RT, RUBY
public ArrayList<String> normalTags(){
String normalTags = "H1, H2, H3, H4, H5, H6, P, B, I, U";
ArrayList<String> tags = new ArrayList<String>();
for(Enum<?> currentEnum: TagEnum.values()){
if(normalTags.contains(currentEnum.toString())){
tags.add("<"+currentEnum.toString().toLowerCase()+">");
tags.add("</"+currentEnum.toString().toLowerCase()+">");
}
}
return tags;
}
}
Bu Eclipse tahmin ediyorum "o öneriyor" derken o :) olan yolu iyi. Eclipse'nin önerileri bazen iyi, diğer zamanlarda aptaldır. Sormaya karar verdiğiniz iyi şey! – slezica
Her bir enum için soyut yöntemler yapabilir ve bunları geçersiz kılabilirsiniz! Bu soruya bakın: http://stackoverflow.com/questions/14850842/overriding-abstract-method-or-using-one-single-method-in-enums –
@ uʍopǝpısdn Bence bu öneri mantıklı geliyor - yöntemin uygulanması değil ' Belirli bir enum sabitine özgüdür. Tüm enum değerlerini kullanarak statik bir şey yapıyor. –