What is lazy evaluation in Scala?

Updated May 24, 2026

Short answer

Lazy evaluation delays computation until needed.

Deep explanation

Using lazy val defers execution, improving performance for expensive computations.

Real-world example

Used in loading large configurations.

Common mistakes

  • Assuming lazy values are recomputed.

Follow-up questions

  • Is lazy thread-safe?
  • Difference between val and lazy val?

More Scala interview questions

View all →