Junior — Middle
Quais são as diferenças entre as palavras-chave const val e val em Kotlin?
sobes.tech IA
Resposta da IA
Em Kotlin, a palavra-chave val representa uma variável imutável (somente leitura), cujo valor pode ser atribuído uma vez durante a inicialização, mas o próprio valor pode ser calculado em tempo de execução.
const val é uma constante de tempo de compilação, que deve ser de um tipo primitivo ou uma string e deve ser inicializada com um valor conhecido na fase de compilação. Essas constantes podem ser usadas, por exemplo, em anotações ou como parâmetros que requerem constantes.
Principais diferenças:
const valé sempre uma constante estática, acessível ao nível da classe (apenas em objetos ou no nível superior).valé uma propriedade imutável comum, que pode ser calculada dinamicamente.
Exemplo:
const val MAX_COUNT = 10 // constante de tempo de compilação
val currentTime = System.currentTimeMillis() // valor calculado em tempo de execução