Метод split()
ожидает регулярное выражение , а не литеральную строку, а "."Символ имеет особое значение в регулярных выражениях.Разделить на буквальное "."символ, вам нужно экранировать его, чтобы синтаксический анализатор регулярных выражений понимал, что это то, что вам нужно.
Попробуйте это так:
String [] adr = address.split("\\.");
Обратите внимание, что необходимо по существу экранировать его дважды, потому чтоВы хотите, чтобы синтаксический анализатор регулярных выражений получал строку "\.", которая фактически является "\\."когда выражено как строковый литерал.«\\» преобразуется в буквальный символ «\», поэтому синтаксическому анализатору регулярных выражений присваивается «\.», Который затем преобразуется в литерал «.»символ.
Также обратите внимание, что синтаксический анализатор stackoverflow, кажется, хочет удалить некоторые последовательности, начинающиеся с "\", что делает этот пост непонятным для редактирования.