如何在 Scala 中仅使用空构造函数创建 POJO class?
How to create POJO class with only empty constructor in Scala?
我想在 Scala 中仅使用默认的空构造函数创建 POJO class。在java中是这样的:
public class Foo {
private String name;
private String address;
...
//and the public getter/setter below...
}
在 scala 中,我看到您可以像这样创建 POJO:
case class Foo(var name: String, var address: String, ...)
但在我的例子中,class 将有很多属性(大约 50+),我认为用 50 个构造函数参数实例化 class 不适合这种情况。
更新:
另外,class的属性值可以设置(不是只读的)。这就是我期望 POJO class:
用法的方式
val foo = new Foo()
foo.name = "scala johnson"
foo.address = "in my sweeet dream, oh yeah"
...
如果您不需要使用参数化构造函数实例化 class,并且您将拥有许多属性,那么您可能需要一个对象(静态属性和方法的集合)或一个非大小写 class.
对象示例:
object Foo {
val someString = "one"
val someNumber = 42.5
}
也可以有非大小写class。你可以有一个 class 没有参数,虽然我不确定你为什么要在那种情况下有一个 class:
class Foo {
val someString = "one"
val someNumber = 42.5
}
你这样称呼他们:
val myObjectString = Foo.someString
val myClass = new Foo
val myClassNumber = myClass.someNumber
怎么样:
class C {
var p1:String = _
var p2:Int = _
}
我想在 Scala 中仅使用默认的空构造函数创建 POJO class。在java中是这样的:
public class Foo {
private String name;
private String address;
...
//and the public getter/setter below...
}
在 scala 中,我看到您可以像这样创建 POJO:
case class Foo(var name: String, var address: String, ...)
但在我的例子中,class 将有很多属性(大约 50+),我认为用 50 个构造函数参数实例化 class 不适合这种情况。
更新:
另外,class的属性值可以设置(不是只读的)。这就是我期望 POJO class:
用法的方式val foo = new Foo()
foo.name = "scala johnson"
foo.address = "in my sweeet dream, oh yeah"
...
如果您不需要使用参数化构造函数实例化 class,并且您将拥有许多属性,那么您可能需要一个对象(静态属性和方法的集合)或一个非大小写 class.
对象示例:
object Foo {
val someString = "one"
val someNumber = 42.5
}
也可以有非大小写class。你可以有一个 class 没有参数,虽然我不确定你为什么要在那种情况下有一个 class:
class Foo {
val someString = "one"
val someNumber = 42.5
}
你这样称呼他们:
val myObjectString = Foo.someString
val myClass = new Foo
val myClassNumber = myClass.someNumber
怎么样:
class C {
var p1:String = _
var p2:Int = _
}