Есть ли способ преобразовать строку [которая является объектом некоторого класса] в объект некоторого класса? - PullRequest
0 голосов
/ 27 июня 2018
private static void method() {
List<HashMap<Integer, String>> repeating = new ArrayList<>();

for(int i = 0; i < 5; i++) {
  HashMap<Integer, String> group = new HashMap<>();
  group.put(958, "958value-" + i);
  group.put(959, "959value-" + i);
  group.put(960, "960value-" + i);
  repeating.add(group);
}

/*Is there any way to change listObj to again List object*/
String listObj = repeating.toString();}

Я получу строку объекта List, которую я хочу преобразовать в объект List. Есть ли способ преобразовать эту строку в список?

Ответы [ 3 ]

0 голосов
/ 27 июня 2018

Да, это должно быть возможно, хотя я не получил все от вас вопрос

Создание списка объектов List

итерируйте свою карту с

 for (Map.Entry<String, String> entry : yourmap.entrySet()) {
          new List<YourObject> lst;
          lst.add(new Object(entry.getkey, entry.getvalue));

но я предлагаю вам не использовать и отображать карту, я не понимаю, зачем вам это нужно, предпочитаю список массивов, если вы хотите повторить его

0 голосов
/ 27 июня 2018

Вы можете использовать сериализацию вместо toString. Посмотрите на Гсона / Джексона. Эти библиотеки позволяют преобразовывать объект в строку и анализировать строку обратно в объект.

Например, Gson позволяет преобразовать любой объект в JSON, а затем вернуться к объекту следующим образом:

List<String> list1 = new ArrayList<>();
// Populate the list
Gson gson = new Gson();
String jsonifiedList = gson.toJson(list1);

Затем сделайте то, что вам нужно, с помощью строковой формы списка и получите ее:

List<String> list2 = gson.fromJson(jsonifiedList, new TypeToken<List<String>>(){}.getType());

Если ваш список содержит более сложные объекты, вам может понадобиться добавить JsonSerializer к вашему Gson объекту, чтобы он знал, как создавать и анализировать JSON.

0 голосов
/ 27 июня 2018

В общем случае ответ - нет. В некоторых случаях метод toString для класса генерирует строку, совместимую с соответствующим методом синтаксического анализа или конструктором в классе. Затем вы можете конвертировать обратно. Обычно информация теряется, когда объект конвертируется в строковый формат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...