は、次のと間違っている何ScalaでPOJOに相当するものを使用するにはどうすればよいですか?
class SimpleClass (myInt: Int, myString: String) {
}
次私が持っていると仮定しますか?
val mySimple = new SimpleClass(1, "hi")
println(mySimple.myInt)
は、次のと間違っている何ScalaでPOJOに相当するものを使用するにはどうすればよいですか?
class SimpleClass (myInt: Int, myString: String) {
}
次私が持っていると仮定しますか?
val mySimple = new SimpleClass(1, "hi")
println(mySimple.myInt)
あなたはコンストラクタのパラメータは、クラスのフィールドとして利用できるようにしたい場合は、ヴァルスやVARSとして宣言する必要があります。平等を含む完全なPOJO体験™、ハッシュコードについては
class SimpleClass (val myInt: Int, val myString: String) {
}
そしてtoString
の健全な実装が...あなたはケースクラスをお勧めします:ケースクラスに
case class SimpleClass(myInt: Int, myString: String)
val mySimple = SimpleClass(1, "hi")
println(mySimple.myInt)
パラメータを自動的にヴァルスに作られています。 は、望むなら明示的にそれらをvarsにすることができますが、このようなことは通常、不変なオブジェクトが好きなScalaにぶち壊されます。
問題は、SimpleClass.myInt
ゲッターメソッドを呼び出していても、どこでもゲッターメソッドを定義していないことです。あなたはSimpleClass.myInt
getterメソッドを定義したり、より良いまだ、Scalaは自動的にあなたのためにそれを定義するために取得する必要があります:
class SimpleClass(val myInt: Int, myString: String) {}
あなたのScala定義のJavaのと同等です:
public class SimpleClass {
public SimpleClass(int myInt, String myString) {
}
}
ありませんが、それはdoesnの不思議仕事...
これはあなたの17番目のスカラーの質問です。あなたはまだ言語の非常に基本に悩まされています。おそらく、あなたは午後を過ごし、あなたの知識を集約するためにチュートリアルのオンライン(またはいくつかの本)を読むべきです。私が提案することができます:
+1「Hey dude」:-) – Landei
それともあなたは自由のためにそういったことを取得する "ケースクラス"、としてクラスを宣言します。 –
'case class'はPOJOに近いです。詳細はこちらを参照してください:http://stackoverflow.com/questions/9673233/how-is-the-pojo-javabean-pattern-treated-in-scala – Neil