это мой первый пост здесь, но я действительно нужна помощь на этом, потому что я только начинаю, чтобы узнать о сериализации/десериализации в Java:десериализации из строки в Java
У меня есть строка, которая выглядит что-то вроде этого:
String str = "ExampleClass[id=123,date=2009-07-12,state=OPEN]";
Мой вопрос: могу ли я десериализовать это, чтобы я мог получить доступ к информации внутри этой строки? Я только видел примеры, где они используют ObjectOutputStream
и метод .writeObject()
, чтобы сначала создать файл, а затем прочитать его.
У меня есть класс, который выглядит следующим образом:
public class ExampleClass implements Serializable {
protected String id;
protected Date startDate;
protected String state;
//other code...
public String toString(){
return "ExampleClass[id="+id+",date="+startDate+",status="state"]";
}
}
Может быть, я не до конца понял концепцию десериализации еще, но, надеюсь, я мог бы получить вход здесь и выяснить, что я попытка сделать не будет работать или не имеет смысла. Спасибо заранее!
Следующие могут помочь http: // stackoverflow.com/questions/12963445/serialization-readobject-writeobject-overides –
То, что вам «кажется» нужно сделать, это проанализировать значение «String» обратно в представлении «Object», на самом деле это не так, как это делает сериализация. объект и генерирует двоичное представление, которое может быть сохранено в файл или передано по проводу на другой компьютер. Для вашей проблемы вам нужно написать код, который может извлекать значения из 'String', для чего вам нужно создать новый экземпляр класса – MadProgrammer
. Реализация toString не сериализует –