Como configurar a integração do Kotlin com projetos Java?
sobes.tech IA
Resposta da IA
Para integrar Kotlin com um projeto Java existente, é necessário:
-
Adicionar dependências do Kotlin ao projeto: Dependendo do sistema de build (Gradle, Maven), adicione o plugin e a biblioteca padrão do Kotlin.
Exemplo para Gradle (no
build.gradledo módulo):plugins { id 'org.jetbrains.kotlin.jvm' version '<última versão do Kotlin>' } sourceSets { main { kotlin { srcDirs 'src/main/kotlin' // Adicionar diretório para código Kotlin } } } dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:<última versão do Kotlin>" // Outras dependências } -
Configurar os diretórios de código fonte: Criar um diretório para arquivos Kotlin, por exemplo,
src/main/kotlin, ao lado desrc/main/java. O sistema de build deve estar configurado para procurar código fonte em ambos os diretórios. -
Escrever classes em Kotlin: Criar novas classes em Kotlin. Elas poderão chamar sem problemas o código Java existente.
-
Chamar código Kotlin de Java: Classes e funções Kotlin podem ser facilmente chamadas de Java. O compilador Kotlin gera bytecode compatível com JVM. Funções de nível superior em Kotlin são compiladas em métodos estáticos de uma classe Java com o sufixo
Kt(padrão, o nome do arquivo). Pode-se usar@JvmNamee@JvmOverloadspara ajustar visibilidade e assinaturas em Java.Exemplo (Kotlin):
// MyKotlinFile.kt package com.example fun greet(name: String) { println("Hello, $name!") } class MyKotlinClass { fun sayGoodbye() { println("Goodbye!") } }Exemplo (Java):
// MyJavaClass.java package com.example; public class MyJavaClass { public static void main(String[] args) { // Chamada de função de nível superior de Kotlin MyKotlinFileKt.greet("World"); // Chamada de método de classe Kotlin MyKotlinClass kotlinObject = new MyKotlinClass(); kotlinObject.sayGoodbye(); } } -
Converter código Java existente: IDEs (como IntelliJ IDEA) oferecem ferramentas para converter automaticamente classes Java em Kotlin. Isso é útil para uma transição gradual.
-
Lidar com
@Nullablee@NotNull: Kotlin distingue tipos nullable e não nullable. Anotações@Nullablee@NotNullde Java (por exemplo, de JSR-305, Android, Guava) são usadas pelo compilador Kotlin para inferir informações de nullability. Código Kotlin que chama Java deve considerar a potencial nullability dos valores retornados por métodos anotados.