假设我从一个名为external()
的函数返回
return hotelRoomReservation.newBuilder()
.setCheckInTime(user.checkInTime)
.setCheckOutTime(user.checkOutTime)
.build()
并将其设置为名为reservation
的变量。然后,稍后,比如在调用函数中,我想编辑其中一个字段。我想做的是:
reservation.updateCheckInTime(newCheckInTime)
在构建了 GRPC 消息后,如何实现此目的?
您必须将消息转换回构建器 (toBuilder()
),添加更新,再次构建它,然后覆盖保存消息的变量。 这与例如String
没有什么不同,在中,您不能修改字符串中的字符,但您可以转换为StringBuilder
,进行一些更改,然后再次将其构建为字符串。
(这是假设您没有使用 Kotlin 原型绑定,在这种情况下,您可以使用.copy
并且不需要构建器,尽管您仍然需要更改变量。