在Scala的case class中,"_"代表通配符,用于匹配任何值。
在Scala的case class中,"_"代表通配符,用于匹配任何值。
这个问题在这里已经有答案:
我刚刚在一个`Play` / `Scala`的`hibernate`实例中发现了这样的一个`case class`....
class Buddy(first: String, last: String) { @Id @GeneratedValue(strategy = GenerationType.AUTO) var id: Int = _ var firstName: String = first var lastName: String = last def this() = this (null, null) override def toString = id + " = " + firstName + " " + lastName }
能有人解释一下这行代码\"var id:Int = _\"的含义吗?
这段代码中的 \"__\"究竟意味着什么?我猜它与getter方法无关,因为在这种情况下,我猜getter方法名将是id_。
提前致谢...
admin 更改状态以发布 2023年5月21日
这里有一个很好的解释下划线的含义以及一些用例。
我喜欢看到它作为某些操作的通配符。
来自链接博客的例子:
expr match { case List(1,_,_) => " a list with three element and the first element is 1" case List(_*) => " a list with zero or more elements " case Map[_,_] => " matches a map with any key type and any value type " case _ => }
另一个例子:
val someList = Seq(1,2,3,4,5) //Prints every element of the list someList.foreach(println(_))