Я делал проект на учебе, он выглядит хорошо, но я хочу сделать его как можно лучше. У меня есть два отдельных JSON файла, содержащих пользователей и действия. Мне нужно извлечь эти данные и поработать с ними. Но вопрос в том, чтобы получить эти данные. У меня есть класс с именем DataReader, который имеет два метода - readUsers и readActions.
public class DataReader {
Gson gson = new GsonBuilder().setDateFormat("MM.dd").create();
public ArrayList<Action> readActions(String fileName)
throws JsonIOException, JsonSyntaxException, FileNotFoundException {
Type actionsArrayList = new TypeToken<ArrayList<Action>>() {
}.getType();
return gson.fromJson(new FileReader(fileName), actionsArrayList);
}
public HashMap<Integer, User> readUsers(String fileName)
throws JsonIOException, JsonSyntaxException, FileNotFoundException {
Type usersHashMap = new TypeToken<HashMap<Integer, User>>() {
}.getType();
return gson.fromJson(new FileReader(fileName), usersHashMap);
}
}
Как вы можете видеть, эти два метода делают одно и то же, различие заключается только в типе возвращаемого объекта и получает из этого JSON файла.
Так есть ли какие-либо возможности создать метод, подобный readData
, который бы получал только параметр fileName
и сам разбирался, чтобы уменьшить объем кода?