繁体   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