簡體   English   中英

val值bean如何變化

[英]How a val value bean changed

我使用scala和mybatis:

Space.scala:

case class Space(
              val id: Long ,
              spaceName:String)

SpaceDao:

   val space=Space(0,"space name")
   val mapper = session.getMapper(classOf[SpaceMapper])
   val result = mapper.insertSpace(space)
   println(space.id)

結果空間id是mysql的自動遞增數,而不是0.但是space和space.id都是val,為什么val值可以改變?

這可以通過反射 (由SetFieldInvoker使用 )來實現:

反射通常由程序使用,這些程序需要能夠檢查或修改在Java虛擬機中運行的應用程序的運行時行為。 這是一個相對高級的功能,只有那些掌握了語言基礎知識的開發人員才能使用。 考慮到這一點,反射是一種強大的技術,可以使應用程序執行本來不可能的操作。

另見這個問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM