У меня есть некоторая структура данных, которая требует алфавита в качестве параметра его конструктора. Поэтому, если я создам новый экземпляр, мне нужно будет каждый раз снабжать алфавит.Проблема утилиты утилиты Java
Есть ли более простой способ? Я думаю, что я могу symplify его использования статической полезности класса, как этот
Alphabet {
public static final eng = "abc...z";
public static final ua = "абв...я";
}
Но это не гарантирует расширяемость. Я имею в виду, да, я могу просто добавить некоторые алфавиты к такому классу, но пользователь не может добавить свои собственные алфавиты, для изучения русского алфавита.
я могу сделать вспомогательный класс, который использует частный экземпляр HashMap, где K является Coutry-код и V является алфавит, а также поддержка получить/ставить методы для пользователя. Таким образом, я могу гарантировать расширяемость. Но разве это не делает все сложным?
Редактировать
Предположим, в настоящее время я делаю так
Structure instance = new Structure("abc...z");
//in another class
Structure instance = new Structure("abc...z");
По полезности класса я могу сделать так
Structure instance = new Structure(Alphabet.eng);
//in another class
Structure instance = new Structure(Alphabet.eng);
Вы также можете использовать файл свойств и прочитать его на карте – Musaddique
@TipuSultan, но трудно ли пользователю понять, почему я использую такой класс и на самом деле его использую? –
Как используется алфавит? Почему пользователю нужно добавить новый алфавит? По словам пользователя, вы имеете в виду разработчика? –