Google поднял страницу на сайте Sun, которая немного обсуждает это.
Вы правы в переменной; this
действительно может использоваться для дифференциации переменной метода из поля класса. [f1]
Однако, я действительно ненавижу это соглашение. Предоставление двух разных переменных буквально одинаковых имен - это рецепт ошибок. Я предпочитаю что-то вроде: [f2]
Те же результаты, но без шансов на ошибку, когда вы случайно ссылаетесь на x
, когда вы действительно хотели ссылаться на x
.
Что касается использования этого метода, вы правы в отношении эффектов; вы получите те же результаты с или без него. Вы можете использовать его? Конечно. Должны ли вы использовать его? До вас, но, учитывая, что я лично считаю бессмысленной многословность, которая не добавляет ясности (если код не заполнен статическими операторами импорта), я не склонен использовать его сам.
Что-то в строках [1 111]
myString.split("\\s+");
Это группирует все пробелы как разделитель.
Поэтому, если у меня есть строка:
"Hello[space][tab]World"
Это должно привести к строкам "Hello"
и "World"
и опустить вакуум между [space]
и [tab]
.
, Поскольку VonC указал, обратной косой черты нужно оставить, потому что Java сначала попытался бы выйти из строки к специальному символу и отправить что , чтобы быть проанализированным. То, что Вы хотите, является литералом "\s"
, что означает, необходимо передать "\\s"
. Это может стать немного сбивающим с толку.
Эти \\s
эквивалентно [ \\t\\n\\x0B\\f\\r]
На большинстве regex диалектов существует ряд удобных символьных сводок, которые можно использовать для такого рода вещи - это хорошие для запоминания:
\w
- Соответствия любой словесный символ.
\W
- Соответствия любой несловесный символ.
\s
- Соответствия любой пробельный символ.
\S
- Соответствия что-либо кроме пробельных символов.
\d
- Соответствия любая цифра.
\D
- Соответствия что-либо кроме цифр.
поиск А "Regex Cheatsheets" должен вознаградить Вас большим количеством полезных сводок.