public void method(String param) {...}
Но в таком случае в качестве параметра может быть принята любая строка. В соответствии с принципом, что все потенциальные ошибки по возможности надо переносить на момент компиляции, такой вариант неприемлем. Тут и приходит на помощь Enum:
public enum TypesafeEnum {GREEN, RED, BLUE};
А можно ли обойтись без него? Конечно можно, ведь Enum появились только с java 1.5. Тут нам может помочь паттерн Typesafe Enum:
public class TypesafeEnum {
private final String name;
private TypesafeEnum(String name) {
this.name = name;
}
public static final TypesafeEnum GREEN = new TypesafeEnum("green");
public static final TypesafeEnum RED = new TypesafeEnum("red");
public static final TypesafeEnum BLUE = new TypesafeEnum("blue");
public String toString() {
return name;
}
}
Теперь можно обьявить наш метод таким образом:public void method(TypesafeEnum param) {...}
соответственно его вызов: someObject.method(TypesafeEnum.RED);
Подробнее о паттерне здесь
Комментариев нет:
Отправить комментарий