Я промежуточный Java-программист, который столкнулся с головоломкой.статические экземпляры против enums
Я пытаюсь решить, какую стратегию использовать при использовании фиксированных параметров в определенных методах.
например. Я хочу это сделать:
void aMethod (int i, Color color)
где Цвет - это мое собственное творение.
Они, как я вижу, я могу либо создать цвет перечисления. Я знаю, как это сделать.
Я также могу это сделать:
public class Color{
public static Color blue = new Color(23, 22, 21);
public static Color red = new Color(12, 32 ,10);
private int a;
private int b;
private int c;
private Color(int a, int b, int c){
this.a = a;
this.b = b;
this.c = c;
}
methods...
Дело в том, что после попытки как я могу сделать то же самое с ними. Единственное отличие состоит в том, что я чувствую, что мой пример класса более понятен, я точно знаю, что он делает. Несмотря на то, что я могу написать многофункциональное перечисление, я не совсем уверен, какие переменные являются статическими, общедоступными, частными и т. Д., А также то, какую память он будет использовать. Это немного грязно.
Итак, мой вопрос к вам: я должен идти с классами, как выше, вместо перечислений? Есть ли некоторые вещи, которые я не знаю, которые могут добавить к делу Эннумов?
Вы можете легко и быстро перебирать перечисления, но не по статическим константам. –
Возможный дубликат [В чем преимущество переименования Java в сравнении с классом с общедоступными статическими конечными полями?] (Http://stackoverflow.com/questions/9969690/whats-the-advantage-of-a-java-enum-versus -a-class-with-public-static-final-fiel) –