programing

Groovy에서 문자열이 공백뿐만 아니라 null이 아닌지 확인하려면 어떻게 해야 합니까?

jooyons 2023. 9. 2. 08:21
반응형

Groovy에서 문자열이 공백뿐만 아니라 null이 아닌지 확인하려면 어떻게 해야 합니까?

그루비는 다음을 추가합니다.isAllWhitespace()문자열에 대한 메소드는 훌륭하지만 문자열에 공백이 있는지 여부를 확인하는 좋은 방법은 아닌 것 같습니다.

제가 생각해낸 최고의 것은 다음과 같습니다.

myString && !myString.allWhitespace

하지만 그것은 너무 장황해 보입니다.이것은 검증을 위한 매우 일반적인 것처럼 보이기 때문에 이것을 결정하는 더 간단한 방법이 있어야 합니다.

또 다른 옵션은

if (myString?.trim()) {
  ...
}

(스트링에 그루비 진실 사용)

문자열에 메소드를 추가하여 의미를 더 많이 지정할 수 있습니다.

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

당신이 할 수 있는 일:

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

그것은 내 프로젝트에서 grails2와 함께 작동합니다.1:

String str = someObj.getSomeStr()?.trim() ?: "Default value"

일부 Obj.getSomeStr()이 null이거나 비어 있는 경우 " -> str = "기본값"
if someObj.getSomeStr() = "someValue" -> str = "someValue"

저는 이 방법이 빠르고 다양하다고 생각합니다.

static boolean isNullOrEmpty(String str) { return (str == null || str.allWhitespace) } 

// Then I often use it in this manner
DEF_LOG_PATH = '/my/default/path'
logPath = isNullOrEmpty(log_path) ? DEF_LOG_PATH : log_path

하지만 저는 그루비를 사용하는 것이 꽤 새로워서 String 타입의 실제 확장 방법을 만들 수 있는 방법이 있는지 확신할 수 없고 이것은 제가 보기에 충분히 잘 작동합니다.

감사합니다. -MH

언급URL : https://stackoverflow.com/questions/9168518/how-can-i-determine-if-a-string-is-non-null-and-not-only-whitespace-in-groovy

반응형