- Существует много документации по использованию решений pre-enum.
- Многие разработчики используют Java впервые и имеют опыт работы с другим языком, где использование констант является нормой.
- Многие библиотеки хотели поддерживать Java 1.4 и более ранние версии. Java 1.3 и 1.4 все еще используются сегодня.
- Рабочий код не был переписан только для использования перечислений.
Я все еще говорю людям использовать enum для Singleton, хотя он существует уже 7 лет. : P
Когда следует использовать константы вместо enum? Если у вас есть много связанных, но не связанных напрямую констант.
public static final int BUFFER_SIZE = 32 * 1024;
public static final String ERROR = "Error: ";
public static final char TAB = 't';