Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Как разбить строку на слова ?


Автор: V0R0N91 15.12.2011, 19:48
 
Код

String str = "My name is qwertl";
     System.out.println(str.split(" "))



Вот метод split вроде должен разбивать строку на слова отдельные , он мне пишет [Ljava.lang.String;@1a8c4e7
Что не так??
Всех заранее благодарю за помощь=)

Автор: Nofate 15.12.2011, 20:02
Смотрим документацию.  'String.split' возвращает массив строк ('String[]'). Метод 'println()' ожидает строковое значение или один из примитивных типов. Массив строк не является строковым значением. 

Вообще для объектов можно реализовать метод toString(), который будет вызываться для приведения к строке. Для массива такой метод не определен, поэтому используется стандартный вариант приведения, возвращающий тип объекта `[Ljava.lang.String` - массив строк и адрес `1a8c4e7`. Но сейчас это не важно.

То что вам сейчас нужно - это пройтись циклом по массиву.

Код

String str = "My name is qwertl";
for (String s: str.split(" ")) {
  System.out.println(s);
}

Автор: V0R0N91 15.12.2011, 22:05
спасибо

Автор: Stolzen 16.12.2011, 07:11
Код

String str = "My name is qwertl";
System.out.println(Arrays.toString(str.split(" ")));

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)