在 grails 中获取价值
def bid= Book.findAllBy(params.bname)
println(bid.id)
我得到了结果 [58]
我怎样才能获得不带引号的值?
如何将“出价”转换为整数?
def bid= Book.findAllBy(params.bname)
println(bid.id)
I got the result [58]
How can I just get the value without the quote?
And how can I convert 'bid' to an Integer?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
findAllBy
的返回值是一个列表。在您的情况下,该列表仅包含一个Book
实例。在列表上使用属性运算符会创建一个新列表,其中包含所有列表元素的相应属性。因此,bid.id 创建一个列表,其中整数 58 作为单个元素。列表对象的
toString()
方法将其打印为[58]
。为了获取整数值,您应该调用bid[0].id
(尽管bid.id[0]
- 更浪费 - 在这种情况下也可以工作)。或者,您可以调用
Book.findBy(params.bname).id
。findBy
方法仅返回单个实例。The returned value of
findAllBy
is a list. In your case, that list contains only oneBook
instance.Using the property operator on a list creates a new list with the corresponding properties of all list elements. So
bid.id
creates a list with the integer 58 as the single element. ThetoString()
method of the list object prints this as[58]
. In order to get the integer value you should callbid[0].id
(althoughbid.id[0]
- more wastefully - would also work in this case).Alternatively you can call
Book.findBy(params.bname).id
. ThefindBy
method only returns a single instance.