grails之我如何在 Groovy 中简化这段设置对象属性(如果它们为空)的代码
jpfss
阅读:54
2024-11-01 17:39:52
评论:0
如果属性不为空,我将使用 Grails 在域类上设置属性。目前,代码看起来像这样:
def product = Product.getById(5);
if (!product.Name) {
product.Name = "Default Product"
}
if (!product.Price) {
product.Price = 5;
}
if (!product.Type) {
product.Type = "Shampoo"
}
在 Groovy 中实现此代码块的更好方法是什么?我设法将其简化为:
product.Name = product.Name ?: "Default Product"
product.Price = product.Price ?: 5
product.Type = product.Type = "Shampoo"
但我希望能够做这样的事情(无效代码):
product {
Name = product.Name ?: "Default Product",
Price = product.Price ?: 5,
Type = product.Type ?: "Shampoo"
}
你们会推荐我做什么?
请您参考如下方法:
在上一个示例中使用 with
方法调用:
product.with {
Name = Name ?: "Default Produce"
Price = Price ?: 5
Type = Type ?: "Shampoo"
}
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。