Kotlin oferece uma ampla gama de tipos de dados, desde os básicos como números inteiros e ponto flutuante, até tipos
mais específicos como Date
e outros. Aqui estão os tipos mais comuns que você encontrará em Kotlin.
Kotlin fornece tipos numéricos para representar valores inteiros de tamanhos variados.
O tipo Byte
ocupa 8 bits e pode armazenar valores entre -128 e 127:
val byteValue: Byte = 100
O tipo Short
ocupa 16 bits e pode armazenar valores entre -32.768 e 32.767:
val shortValue: Short = 1000
O tipo Int
é o mais utilizado para inteiros. Ele ocupa 32 bits e pode armazenar valores de −2^31 a 2^31-1:
val intValue: Int = 123456
O tipo Long
ocupa 64 bits e pode armazenar valores entre -2^63 a 2^63-1:
val longValue: Long = 123456789L
Os números de ponto flutuante em Kotlin podem ser representados pelos tipos Float
e Double
.
O tipo Float
ocupa 32 bits e é geralmente usado quando é necessária menos precisão (com 6 a 7 dígitos de precisão
decimal):
val floatValue: Float = 3.14f
O tipo Double
é mais preciso, ocupando 64 bits (15 a 16 dígitos de precisão decimal):
val doubleValue: Double = 3.14159265359
O tipo Char
é utilizado para representar um único caractere, como letras ou símbolos:
val letter: Char = 'A'
O tipo Boolean
representa valores de verdade, com possíveis valores true
ou false
:
val isValid: Boolean = true
O tipo String
representa uma sequência de caracteres. Strings são imutáveis em Kotlin:
val greeting: String = "Hello, Kotlin!"
Em Kotlin, arrays são representados pelo tipo Array
. Eles podem armazenar valores de tipos primitivos ou objetos:
val numbers = arrayOf(1, 2, 3)
val strings = arrayOf("Kotlin", "Java", "Python")
Além dos arrays, Kotlin oferece suporte a coleções, como listas (List
), conjuntos (Set
) e mapas (
Map
). Estas são altamente utilizadas em situações em que se precisa de estruturas de dados dinâmicas.
Uma lista imutável (não pode ser alterada):
val languages: List<String> = listOf("Kotlin", "Java", "Python")
Uma lista mutável (pode ser alterada):
val mutableLanguages: MutableList<String> = mutableListOf("Kotlin", "Java")
mutableLanguages.add("Python")
Um conjunto (Set
) não permite elementos duplicados:
val uniqueNumbers: Set<Int> = setOf(1, 2, 3, 3)
Um mapa (Map
) armazena pares de chave-valor:
val userRoles: Map<String, String> = mapOf("admin" to "Administrator", "user" to "Regular User")
O tipo Any
é a raiz da hierarquia de tipos em Kotlin. Qualquer classe ou tipo em Kotlin herda de Any
:
val something: Any = "This can be anything"
Para trabalhar com datas e horários, é comum utilizar classes da biblioteca padrão Java, como java.util.Date
,
LocalDateTime
, e outras.
import java.util.Date
val currentDate: Date = Date()
println(currentDate)
import java.time.LocalDateTime
val currentDateTime: LocalDateTime = LocalDateTime.now()
println(currentDateTime)
O tipo Unit
em Kotlin é equivalente ao void
em outras linguagens, representando a ausência de um valor de retorno.
fun printMessage(message: String): Unit {
println(message)
}
O tipo Nothing
indica que uma função nunca retorna (usado para funções que lançam exceções ou entram em loops
infinitos):
fun fail(message: String): Nothing {
throw IllegalStateException(message)
}
Ir para coleções.