среда, 29 июля 2009 г.

Удивления начинающего джаваписца

Удивление третье. Возмущенное.

String a = "a.b.c.d";

System.out.println("begin");
for(String item : a.split("."))
{
System.out.println("-"+item);
}
System.out.println("end");

если мы это скомпиляем и запустим то увидим.... правильно
begin
end


А все дело в том что метод split для объекта String в java принимает регулярное выражение в качестве параметра. И все бы ничего но точка это спецсимвол. И как теперь строку порезать по точкам неясно, ибо самый логичный вариант обхода этого ограничения

for(String item : a.split("\."))
приводит к таким вот последствиям:
jsplit.java:10: illegal escape character
for(String item : a.split("\."))


И если первую часть данного экзерсиса я вполне понимаю то невозможность заэкранировать точку для меня вообще лежит за гранью логики.

Привет авторам этого замечательного, дарящего радость языка.

Комментариев нет:

Отправить комментарий