以下は単純なscala
クラス定義です。Personクラス内に2つのコンストラクタが定義されています。コンストラクタはパラメータとしてnull値を使用します
Person.scala:
// class that has field and method,
class Person(var name:String, var age:Short) {
def this() {
this("", 0);
}
def this(name:String) {
this(name, 0);
}
def hi() = printf("hi, I am %s!\n", name)
}
// var nobody = new Person();
var eric = new Person("Eric", 12);
eric.hi;
質問はです:
age
フィールドは、コンストラクタの引数リストで提供されていない場合、私はこれをnullに初期化したい、ではない0それを行うための正しい方法は何ですか?name
フィールドの要件も同じです。
いけない、そして、使用オプションnullを使用して返します
です: '' 'ケースクラスPerson(名称:オプションを[あなたがそれらのボイラープレートコンストラクタをすべて必要としないでください。 – maress
まず、@maressが言ったように、それはnullを使用するスカラー方法ではありません。第2に、 'Short'(' AnyVal')値に 'null 'を代入することはできません。 –