Uso de val perezoso para almacenar en caché la representación de cadena
Encontré el siguiente código en el número especial de 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)
}
¿El uso delazy val
en el código anterior proporciona un rendimiento considerablemente mayor que el siguiente código?
package com.weiglewilczek.gameoflife
case class Cell(x: Int, y: Int) {
override def toString = "(%s, %s)".format(x, y)
}
¿O es solo un caso de optimización innecesaria?