Uso de val preguiçoso para representação de seqüência de caracteres em cache
Encontrei o seguinte código na edição especial do JAXMag Scala:
package com.weiglewilczek.gameoflife
case class Cell(x: Int, y: Int) {
override def toString = position
private lazy val position = "(%s, %s)".format(x, y)
}
O uso delazy val
no código acima fornece desempenho consideravelmente mais do que o código a seguir?
package com.weiglewilczek.gameoflife
case class Cell(x: Int, y: Int) {
override def toString = "(%s, %s)".format(x, y)
}
Ou é apenas um caso de otimização desnecessária?