2017-09-29 5 views
0

私は、単に休止状態のPlay/scalaの例を探していました。私はこのクラスのようなものを見つけました....スカラーケースクラスの "_"は何ですか

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_となります。

事前のおかげで...

+1

デフォルトタイプの値(一般的にはnull) – cchantep

答えて

3

「_」は今、デフォルト値が異なるデータタイプごとに異なる可能性があり 「デフォルト値」を意味します。例えば

default is 0 for Int 
default is 0.0 for double 
default is null for reference types 

はそう

にあなたのケースでは0

+0

おかげで先生... :-) – Biswajit

+0

もう一つは、可能な場合は、リンクのブログから

例この行の要件は何ですか? "var firstName:String = first"および "var lastName:String = last"?私は、toStringメソッドをオーバーウインドウする以外に、これを他の方法で使用することはできないと思います。実際にはtoStringの場合でも "first"と "last"を使用できますが、そうではありませんか?もう一度初期化する必要はありません。正しいか、その背後にあるものは、Entityクラスの再生/ JPAです... – Biswajit

0

Hereの値は、あなたは、アンダースコアを意味し、いくつかのユースケース何の優れた説明があります。

私はいくつかの操作でそのようなワイルドカードを見たいと思っています。

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(_)) 
関連する問題