Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

248
Visualizações
Kotlin Data Class Property: Multiple types

In Kotlin, can a property of a data class have multiple types? For example:

val CurrentValue: Double?|String or val CurrentValue: String|Array?

I cannot find it in the documentation.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Union types are not a thing in Kotlin.

You may use a sealed class instead.

sealed class CurrentValue<T>(val value: T) {
  class TextualValue(value: String) : CurrentValue(value)
  class NumericValue(value: Double) : CurrentValue(value)
}

Which then you can use exhaustive when expressions (similar to switch in other languages) in order to access the value in a type-safe manner:

fun doSomething(value: CurrentValue<*>) {
  
  when(value) {
    is TextualValue -> value.value // is recognised as a String
    is NumericValue -> value.value // is recognised as a Double
  }

}

If creating a type is way too much for you then you can perform a when statement and treat a parameter based on it's type and perhaps normalize it:

fun parseValue(value: Any?): Double? = when(value){
  is Double -> value
  is String -> value.toDoubleOrNull()
  is Int -> value.toDouble()
  else -> null
}
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda