构造函数使用空值作为参数

用户名

以下是一个简单的scala类定义,在Person类中定义了2个构造函数。

人员规模:

// 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在构造函数的参数列表中未提供field时,我想将其初始化为null而不是0,那么这样做的正确方法是什么。name字段的要求相同
约翰·K

因此,基本上,您要创建的scala类是

case class Person(name:String, age:Option[Short] = None) {
    def hi() = println(s"hi, I am $name.\nMy age is ${age.getOrElse("not provided")}.")
}

哪个返回

scala> var eric = new Person("Eric", Some(12));
eric: Person = Person(Eric,Some(12))

scala> eric.hi
hi, I am Eric.
My age is 12.

scala> var eric = new Person("Eric");
eric: Person = Person(Eric,None)

scala> eric.hi
hi, I am Eric.
My age is not provided.

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用数据构造函数作为函数参数

使用可变对象作为构造函数参数

使用 decltype 作为构造函数参数

在PHP的构造函数中使用函数作为参数的默认值

我可以使用类型作为值(或从构造函数参数正确推断通用类类型)吗?

在Javascript构造函数中将键/值对象作为参数传递

在Kotlin中传递和使用函数作为构造函数参数

如何使用数组值作为函数参数

如何使用值作为目标函数的参数

使用值代替指针作为函数参数

如何使用函数及其值作为参数?

使用“ this”作为构造函数中方法调用的参数

使用模板化结构作为构造函数参数

使用抽象 Spring bean 作为构造函数参数

使用Clob作为构造函数的参数时出现问题

使用Rcpp公开以指向对象的指针作为参数的构造函数

使用提升的数据构造函数作为幻影参数

如何使用对象类型作为方法/构造函数的参数?

在构造函数中使用多个接口作为参数的依赖注入

在构造函数中使用数组作为参数卡住

对象的构造函数作为函数参数

在构造函数具有非空参数列表的情况下使用构造函数引用

空的初始化程序列表作为参数不会调用默认构造函数

使用指针作为参数的调用函数内部的对象为空

空值作为返回参数

构造函数使用参数调用构造函数

使用val声明的主要构造函数参数允许更改值

如何使用Roslyn查找属性构造函数参数的值?

具有值作为字符串的构造函数参数如何传递给接受整数的构造函数?