Как я могу определить, является ли String ненулевым и не только пробелом в Groovy? - PullRequest
105 голосов
/ 07 февраля 2012

Groovy добавляет метод isAllWhitespace() в Strings, что замечательно, но, похоже, нет хорошего способа определения, имеет ли String что-то отличное от , только пустое пространство в нем.

Лучшее, что я смог придумать, это:

myString && !myString.allWhitespace

Но это кажется слишком многословным. Кажется, для проверки это настолько распространенная вещь, что должен быть более простым способом определить это.

Ответы [ 2 ]

207 голосов
/ 07 февраля 2012

Другой вариант -

if (myString?.trim()) {
  ...
}
8 голосов
/ 07 февраля 2012

Вы можете добавить метод к String, чтобы сделать его более семантическим:

String.metaClass.getNotBlank = { !delegate.allWhitespace }

что давайте делать:

groovy:000> foo = ''
===> 
groovy:000> foo.notBlank
===> false
groovy:000> foo = 'foo'
===> foo
groovy:000> foo.notBlank
===> true
...