2012-05-17 2 views

답변

5

이 경우 boolean 대신에 Boolean 속성을 만들면 초기 값은 null이고 기본값은 false이 아닙니다. 이것은 false의 선택이 의도적이었고 기본값을 허용하지 않았 음을 검증 할 수 있기 때문에 유효성 검사에도 도움이됩니다.

일반적으로 isAttached() 방법 (또는 속성 유형 변형 attached)을 사용할 수 있지만

def product = Product.get(5) ?: new Product() 
product.isDiscounted = product.attached ? product.isDiscounted ? true 

이 경우

실제로는 훨씬 더 컴팩트 생성자에 기본 값으로 수행 할 수 있습니다

def product = Product.get(5) ?: new Product(discounted: true) 
+0

감사 버트. 나는 C#에서 왔기 때문에'Boolean '이 Java의'boolean'과 다르다는 것을 깨닫지 못했습니다. C#에서는 둘 다 같고 유형 뒤에 물음표를 사용하여 null 입력 가능 유형이 선언됩니다. 'bool?' –

관련 문제