Я пишу диспетчер хранилища. Я хочу читать из файла в объект. Пример:Java cast Object to MyClass
protected Object read(String key) throws Exception{
Path pathReadFrom = Paths.get(getPath(key));
if (!Files.isReadable(pathReadFrom)){
throw new FileNotFoundException();
}
Object object = JSON_MAPPER.readValue(Files.readAllBytes(pathReadFrom), Object.class);
return object;
}
JSON_MAPPER - объект ObjectMapper от Джексона.
public MyClass get(String id) throws Exception {
MyClass myClassObject = (MyClass) storeManager.read(id);
return myClassObject;
}
я получаю следующее исключение:
java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.pckg.project.dto.MyClass
Как я могу создать универсальный чтения() метод? Может быть, мне следует задать такой тип, как второй аргумент метода read()?
В чем причина вашего создания менеджера хранилища? – chrylis
Вы на самом деле не объясняете, как ваш код записывает объект в файл. если способ, которым вы пишете, не согласуется с тем, как вы читаете (и, как представляется, из исключения), он никогда не будет работать. Пожалуйста, добавьте код метода write() – gmconte
Я пишу веб-приложение без БД, поэтому храню данные в формате json на hdd. Вот почему мне нужен storeManager. – AlexSmith