Bir enum oluşturdum ve numaramın sınırsız sayıda parametre alan bir String.format işlemini desteklemesine izin vermeye çalışıyorum. Sadece bir nesne döndürmeyi başardım ve bu yöntemi kullandıktan sonra toString()
/döküm yapmam gerekiyor. Bunu yapmak için daha "temiz" bir yol olduğunu veya belki de toString()
yöntemini daha iyi geçersiz kılacağını tahmin ediyorum. Temel olarak, toString()
yöntemini desteklemek istedim, ancak bunu yapmak için ne yazık ki yapmadım, bu yüzden bu yöntemi oluşturdum. Gördüğünüz gibi text(..)
ve toString()
değil.Java: enum toString()
Bunu daha iyi nasıl yapabilirim? İstediğim ideal çözüm, bir String döndüren toString(..)
gibi bir şeydi. Gittiğin yerde görüyorum
public enum MY_ENUM {
VALUE_A("aaa %s"), VALUE_B("bbb %s");
private String text;
MY_ENUM(String text) {
this.text = text;
}
public String text() {
return this.text;
}
public Object text(final Object... o) {
return new Object() {
@Override
public String toString() {
return String.format(text(), o);
}
};
}
}
Neyi başarmak istediğinizi anlamıyorum. Enum örneğinden hiçbir şey kullanmadığından, bu yöntemi neden bir enum örnek yöntemi yaparsınız? –
Bu yöntem sizin numaranızla nasıl ilişkilidir? Tam olarak ne dönmek istiyorsun? – darrengorman
Kodumu uzattım, birkaç verilen dizgi paramları ile toString() yöntemini desteklemeye çalışıyorum .. – Popokoko