Есть ли веские причины не использовать \ u0000 в качестве разделителя в строке Java? Я бы сам кодировал и расшифровывал строку.
Это для сохранения списка введенных пользователем (я ожидаю, что ввод будет введен?) Строк в предпочтение Eclipse и его чтения. Список может быть переменного размера, поэтому я не думаю, что смогу сохранить каждый элемент по своему усмотрению.




Что ж, есть вероятность, что что-то, что каким-то образом преобразует строку, может ее лишить. Да, и слабая возможность того, что вы, возможно, захотите оставить во вводе какие-либо нули.
что ты собираешься с этим делать?
Если вам нужно проанализировать его позже, функции синтаксического анализа строки могут не принимать null в качестве значения для разделителя.
Если данные остаются в Java, почему бы вместо этого не использовать массив или список?
Он будет сохранен в предпочтении Eclipse для сохранения между сеансами, который принимает только строки и примитивы.
В этом случае я бы сериализовал его, но сохранение его так, как вы предложили, тоже, конечно, работает.
Раньше были некоторые библиотеки, которые ошибочно обрабатывали строки Java как завершенные нулем. Не знаю, правда ли это до сих пор, но об этом стоит помнить. Особенно, если вы взаимодействуете с внешними библиотеками, которые будут обрабатывать строки как завершенные нулем.
Спасибо Джону Скиту (stackoverflow.com/questions/305223/jon-skeet-facts) за разрешение принять мой ответ.
Похоже, вы пытаетесь использовать его для хранения списка. Почему бы не использовать ArrayList<String>? Наличие \u0000 в строке - это плохо. Рассмотрите возможность использования байтового массива.
Как вы говорите, это для сохранения чего-то в настройках eclipse, я бы не стал использовать встроенные NUL, поскольку файлы кажутся читаемыми пользователем (по крайней мере, в моем ~ / .eclipse). Что ты хочешь сэкономить? Например, вы можете связать элементы («элемент 2» «элемент 2»). Только не усложняйте это слишком сильно.
Он будет сохранен в предпочтении Eclipse для сохранения между сеансами, который принимает только строки и примитивы. Почему массив байтов с 0 лучше, чем String с \ u0000?
потому что некоторые функции могут не ожидать встроенных NUL и, возможно, их отбрасывать.
Он пытается сохранить аргументы командной строки для последующего воспроизведения. Я думаю, что разделитель должен быть чем-то, что нельзя набрать на клавиатуре.
не предоставляет ли eclipse функцию для сохранения чего-либо в своих настройках?
Что-то еще, кроме настройки предпочтений? Моя проблема в том, что я не знаю, каков будет этот список, поэтому я не могу использовать по одному предпочтению для каждого.
ОЧЕНЬ верно для мобильных приложений