web-dev-qa-db-fra.com

Combinez Java avec Kotlin dans Android

Je passe légèrement de Java à Kotlin dans le développement d’applications Android, mais il y a des cas où je ne veux pas coder dans Kotlin et que je veux ces cas particuliers soient écrits en Java: 

  • Kotlin supprime l’utilisation de findViewByIds
  • Je sais que c’est maintenant le null-safety qui a été opposé par Java toujours avec NullPointerException
  • Les expressions Lambda sont également fournies ainsi que de nombreuses autres fonctionnalités.

Néanmoins, certains de mes codes ne peuvent pas être écrits en Kotlin, tels que les membres static ou les champs non-primitive.

Les annotations Kotlin peuvent en réalité remplacer ces static members. Mais j'adore certaines fonctionnalités de codage de Java et je ne veux pas en rester là.

Ma question est-ce que je peux combiner Java et Kotlin ensemble?  

8
Zafar Kurbonov

Si votre question est la suivante: pouvez-vous utiliser des fichiers kotlin dans des fichiers Java et inversement, la réponse est oui.

Si vous demandez si vous pouvez utiliser la syntaxe kotlin dans les fichiers Java et inversement, la réponse est non.

Pour utiliser le code kotlin dans une classe Java, vous utilisez simplement la classe comme toute autre classe Java.

14
tyczj

Vous pouvez créer un Java similaire à static variables en utilisant compagnon objet .

Vous pouvez facilement créer singleton dans Kotlin en utilisant object .

Après je me suis appuyé Kotlin. J'ai migré tous mes codes vers Kotlin.

3
Bhuvanesh BS

Même si c'est interop, vous ne pouvez pas mélanger Java et Kotlin dans le même fichier.

Si vous voulez vraiment avoir des méthodes/variables statiques, vous pouvez utiliser un companion object. Vous pouvez également accéder à créer une "vraie" méthode statique dans votre JVM en utilisant @JvmStatic

Exemple simple est:

companion object {  
    @JvmStatic 
    fun newInstance() ) SampleFragment()
}

ce qui équivaut à

public static SampleFragment() { return new SampleFragment(); } 

En utilisant @JvmStatic, vous pouvez utiliser Java pour accéder à vos méthodes statiques comme avant.

1
Emanuel S

Vous pouvez avoir dans votre projet des classes et activités Java et Kotlin.

La même classe ne peut pas avoir Java et Kotlin. Vous pouvez convertir un fichier Java en Kotlin avec Ctrl + Alt + Maj + K ou simplement appuyer deux fois sur SHIFT et rechercher Convertir Java en Kotlin

0
Leonardo Cavazzani