Null \ u0000 в строке Java? - PullRequest
       17

Null \ u0000 в строке Java?

4 голосов
/ 25 ноября 2008

Есть ли веские причины не использовать \ u0000 в качестве разделителя в строке Java? Я бы сам кодировал и декодировал строку.

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

Ответы [ 5 ]

3 голосов
/ 25 ноября 2008

Если данные остаются в Java, почему бы вам не использовать вместо них массив или список?

2 голосов
/ 25 ноября 2008

Раньше были некоторые библиотеки, которые ошибочно обрабатывали строки Java как завершенные нулем. Я не знаю, правда ли это, но стоит помнить такие вещи. Особенно если вы взаимодействуете с внешними библиотеками, которые будут обрабатывать строки как завершенные нулями.

1 голос
/ 25 ноября 2008

Если вам понадобится разобрать его позже, функции синтаксического анализа строк могут не принять значение null в качестве значения разделителя.

1 голос
/ 25 ноября 2008

Ну, есть вероятность, что что-то, что преобразует строку, может ее лишить. Да, и слабая вероятность того, что вы захотите сохранить какие-либо нули на входе.

Что вы собираетесь с этим делать?

0 голосов
/ 25 ноября 2008

Похоже, вы пытаетесь использовать его для хранения списка. Почему бы не использовать ArrayList<String>? Наличие \u0000 в строке плохо. Рассмотрите возможность использования байтового массива.

Как вы говорите, это что-то для сохранения чего-либо в настройках eclipse, я бы не использовал встроенные NUL, поскольку файлы кажутся читаемыми пользователем (по крайней мере, в моем ~ / .eclipse). Что вы хотите сохранить? Например, вы могли бы упорядочить элементы («элемент 2», «элемент 2»). Только не усложняй это слишком сильно.

...