Ինչպես կարգավորել Kotlin-ի ինտեգրացիան Java նախագծերի հետ?
sobes.tech AI
Պատասխան AI-ից
Կոտլինի ինտեգրացիայի համար առկա Java նախագծի հետ անհրաժեշտ է:
-
Ավելացնել Kotlin-ի կախվածությունները նախագծին: Անհրաժեշտ է ավելացնել պլագին և ստանդարտ գրադարան Kotlin-ի կառուցման համակարգից կախված՝ (Gradle, Maven):
Օրինակ Gradle-ի համար (մոդուլի
build.gradle-ում):plugins { id 'org.jetbrains.kotlin.jvm' version '<վերջին Kotlin տարբերակը>' } sourceSets { main { kotlin { srcDirs 'src/main/kotlin' // Kotlin աղբյուրների համար դիրեկտորիա ավելացնել } } } dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:<վերջին Kotlin տարբերակը>" // Այլ կախվածություններ } -
Կարգավորել աղբյուրային դիրեկտորիաները: Ստեղծել Kotlin ֆայլերի համար դիրեկտորիա, օրինակ՝
src/main/kotlin, կողքինsrc/main/java-ին: Կառուցման համակարգը պետք է կազմաձևվի երկու դիրեկտորիաներում աղբյուրները որոնելու համար: -
Գրել Kotlin դասեր: Ստեղծել նոր դասեր Kotlin-ում: Դրանք կարող են առանց խնդիրների կանչել առկա Java կոդը:
-
Կոչել Kotlin կոդ Java-ից: Kotlin դասերը և ֆունկցիաները հեշտությամբ կարող են կանչվել Java-ից: Kotlin կոմպիլյատորը գեներացնում է байթկոդ, որը լիովին համատեղելի է JVM-ի հետ: Վերևի մակարդակի ֆունկցիաները Kotlin-ում կոմպիլյացվում են Java դասի ստատիկ մեթոդների, որոնց անունը ավելացվում է
Kt(նույն ֆայլի անունը):@JvmNameև@JvmOverloadsկարելի է օգտագործել տեսանելիությունը և սիգնատուրաները կարգավորելու համար Java-ում:
Օրինակ (Kotlin):
// MyKotlinFile.kt
package com.example
fun greet(name: String) {
println("Hello, $name!")
}
class MyKotlinClass {
fun sayGoodbye() {
println("Goodbye!")
}
}
Օրինակ (Java):
// MyJavaClass.java
package com.example;
public class MyJavaClass {
public static void main(String[] args) {
// Վերևի մակարդակի ֆունկցիայի կանչում Kotlin-ից
MyKotlinFileKt.greet("World");
// Kotlin դասի մեթոդի կանչում
MyKotlinClass kotlinObject = new MyKotlinClass();
kotlinObject.sayGoodbye();
}
}
-
Կայուն Java կոդի փոխարկում: IDE-ները (օրինակ՝ IntelliJ IDEA) տրամադրում են Java դասերի ավտոմատ փոխարկման գործիքներ Kotlin-ին: Սա օգտակար է աստիճանաբար անցնելու համար:
-
Հաշվի առնել
@Nullableև@NotNullannotations: Kotlin-ը տարբերակում է nullable և non-nullable տիպերը:@Nullableև@NotNullannotations-ները Java-ից (օրինակ՝ JSR-305, Android, Guava) օգտագործվում են Kotlin-ի կողմից nullability-ի մասին տեղեկատվություն ստանալու համար: Kotlin կոդը, որը կանչում է Java, պետք է հաշվի առնի հնարավոր null արժեքները՝ վերադառնալու ժամանակ:
Այս թարգմանությունները տրամադրված են ըստ ձեր նշած լեզուների ցանկի։