Sobes.tech
Junior

What is 'type inference' in Kotlin?

sobes.tech AI

Answer from AI

Type inference is the compiler's ability to determine the type of a variable or expression without explicit type annotation from the developer. The compiler analyzes the context (for example, the initializing value) and automatically assigns the appropriate type.

Examples:

// Type inference for var
var count = 10 // Compiler infers type Int
// count = "hello" // Compilation error: cannot assign String to Int

// Type inference for val
val name = "Kotlin" // Compiler infers type String
// name = "Java" // Compilation error: val is immutable

// Type inference for expressions
val sum = 5 + 3.14 // Compiler infers type Double

Benefits:

  • Reduces the amount of code, making it more readable.
  • Decreases the likelihood of errors related to type mismatches when explicitly specified.
  • Enhances development productivity.

Important points:

  • Type inference is limited. In some cases (for example, when declaring a variable without initialization), explicit type annotation is necessary.
  • Variables declared with var can change their value, but not their type, after type inference.
var number: Int // Explicit type annotation required as there is no initialization
What is 'type inference' in Kotlin? — Kotlin - sobes.tech