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:
findViewByIds
null-safety
qui a été opposé par Java toujours avec NullPointerException
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?
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.
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.
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.
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