如何在Scala中实现具有静态自增成员的类?
我想使用Scala实现一个类,如下所示:如何在Scala中实现具有静态自增成员的类?,scala,Scala,我想使用Scala实现一个类,如下所示: class Ref(name: String, size: Int) 如果我想在这个类中添加一个静态成员,我需要添加一个componion对象: object Ref { private var id: Int = 0 } 然后,当我创建一个对象,比如val ref=new ref(“something”,20),我应该如何让成员“id”可以自我增加(比如id=id+1)?您可以增加主构造函数内的计数器 object Ref { var id
class Ref(name: String, size: Int)
如果我想在这个类中添加一个静态成员,我需要添加一个componion对象:
object Ref {
private var id: Int = 0
}
然后,当我创建一个对象,比如val ref=new ref(“something”,20),我应该如何让成员“id”可以自我增加(比如id=id+1)?您可以增加主构造函数内的计数器
object Ref {
var id: Int = 0
}
class Ref {
Ref.id = Ref.id + 1
}
您可以增加主构造函数内的计数器
object Ref {
var id: Int = 0
}
class Ref {
Ref.id = Ref.id + 1
}
使用
AtomicInteger
避免id值递增的并发错误
object Ref {
private val id = new AtomicInteger()
def next = id.incrementAndGet()
}
class Ref(name: String, size: Int) {
val id = Ref.next
}
使用
AtomicInteger
避免id值递增的并发错误
object Ref {
private val id = new AtomicInteger()
def next = id.incrementAndGet()
}
class Ref(name: String, size: Int) {
val id = Ref.next
}