Groovy dodaje isAllWhitespace()
metodę do Strings, co jest świetne, ale wydaje się, że nie ma dobrego sposobu na określenie, czy String ma coś innego niż tylko biały znak .
Najlepsze, co udało mi się wymyślić, to:
myString && !myString.allWhitespace
Ale to wydaje się zbyt szczegółowe. Wydaje się, że jest to tak powszechne w przypadku walidacji, że musi istnieć prostszy sposób, aby to ustalić.
string
groovy
whitespace
cdeszaq
źródło
źródło
boolean containsData = myString?.trim()
()
jeśli potrzebujesz go w oświadczeniu, które nie uczyniłoby go już wartością logiczną. Na przykładdef myVal = (myString?.trim())
def myVal = (myString?.trim())
następniemyVal
jest alboString
albonull
, owijając go w nawiasach nie zmienić go na wartość logiczną. Jeśli jednak przypiszesz go do zmiennej boolowskiej lub użyjesz(myString?.trim()) as boolean
lub (jak w mojej odpowiedzi) użyjesz go wif
instrukcji, to jak mówisz, użyje wartości Groovy Truth ciągu (lub null)if ("false") println "that's true too"
Możesz dodać metodę do String, aby była bardziej semantyczna:
co pozwala ci zrobić:
źródło