Каков реверс (ArrayList).toString для Java ArrayList?

Я попробовал его однажды. Мне не нравился он. У меня обычно есть IDE, и IDE идеально подходят для широкого экрана. Это быстрее для перехода вокруг, если Вы видите свой функциональный список справа, список файлов слева, и т.д.

кроме того, я пытаюсь сохранить свои функции небольшими, таким образом, это обычно не проблема (у меня есть двойные 24 дюйма). Если Ваши функции являются довольно небольшими, и у Вас есть широкий экран, можно показать два файла рядом, который часто более полезен. Некоторые редакторы позволяют Вам разделять окно и прокручивать к двум различным частям того же файла. Это также очень полезно, намного лучше, чем наличие 100 + строки на экране. С моими настройками у меня есть 60 строк на экран на редакторе. Если я разделил редактора, я вижу 120. Если я делаю это снова на другом мониторе, я вижу 240. Это - довольно мало кода и обычно только полезный для совсем других частей его.

5
задан Maarten - reinstate Monica 25 October 2014 в 13:51
поделиться

4 ответа

Короткий ответ - «Нет». Не существует простого способа повторно импортировать объект из строки, поскольку определенная информация о типе теряется при сериализации toString () .

Однако для определенных форматов и определенных (известных) типов, вы должны иметь возможность писать код для ручного анализа String:

// Takes Strings like "[a, b, c]"
public List parse(String s) {
  List output = new ArrayList();
  String listString = s.substring(1, s.length() - 1); // chop off brackets
  for (String token : new StringTokenizer(listString, ",")) {
    output.add(token.trim());
  }
  return output;
}

Восстановление объектов из их сериализованной формы обычно называется десериализацией

8
ответ дан 13 December 2019 в 19:30
поделиться

Вот аналогичный вопрос:

Обратный (анализ вывода) Arrays.toString (int [])

Это зависит от того, что вы храните в ArrayList, и от того, или нет, эти объекты легко реконструируются из их строковых представлений.

3
ответ дан 13 December 2019 в 19:30
поделиться

Я бы порекомендовал вместо этого использовать какой-нибудь стандартный формат с библиотекой.

JSON , вероятно, синтаксически наиболее близок.

В качестве альтернативы может работать какое-то решение на основе XML или сериализации. . Конечно, все зависит от ваших потребностей.

0
ответ дан 13 December 2019 в 19:30
поделиться

Из чего состоит ArrayList? Как говорили другие, в некоторых случаях это может быть невозможно, но вполне возможно и гарантированно работать if :

  • каждое строковое представление элемента массива может быть идентифицировано однозначно (как это может быть, например, если ArrayList состоит из Integer s)

  • есть способ создать объект исходного типа из его строкового представления.

0
ответ дан 13 December 2019 в 19:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: