Greitas žvilgsnis į „Java“ ir „Kotlin“

„Kotlin“ yra nauja programavimo kalba iš „JetBrains“, geriausių pasaulyje IDE kūrėjų.

Praėjusiais metais maždaug tuo metu „Google“ paskelbė Kotliną kaip kitą oficialią „Android“ programų kūrimo kalbą „Google I / O‘17“.

Per vienerius metus yra tiek daug straipsnių apie Kotliną, o kūrėjai sparčiai migruoja į Kotliną.

„Airtel“ gaminių inžinerijoje mes visada eksperimentuojame su naujomis technologijomis ir diegiame jas į savo gaminius. Toliau pateikiama mano analizė apie Kotliną.

Skirtingai nuo daugumos kalbą apibūdinančių straipsnių, vengiu naudoti per daug programavimo terminų. Vietoj to aš tiesiog vartosiu paprastą anglų kalbą, kad būtų naudinga gaivininkams.

Pradėkime nuo kai kurių mano dabartinių parankinių.

  1. Apibrėžti kintamieji:

„Java“ programoje galutinis skirtas tik skaitymo kintamajam.

// JAVA
galutinis char a = 'A'; // Tik skaitomas „Char“ tipas
char b = 'B'; // Keičiamas `Char` tipas
b = 'C';

Kotlino mieste mes galime naudoti tik skaitymo kintamąjį ir var keičiamąjį kintamąjį.

// KOTLINAS
val a = 'A' // Daromos išvados, kad rašomas tik „Char“ tipas
var b = 'B' // Daromos išvados apie „Char“ tipą
b = „C“

2. Styginiai šablonai:

„Java“ versijoje formatavome String.format

// JAVA
int a = 20;
galutinė eilutė t1 = styga.formatas („Amy amžius yra% d“, a);
a = 25;
galutinė eilutė t2 = stygų formatas („% s, dabar yra% d.“, t1.pakeiskite („yra“, „buvo“), a);

Kotlin'e mes galime naudoti išraišką šablone.

// KOTLINAS
var a = 20
val t1 = "Amžiaus amžius yra $ a"
a = 25
val t2 = "$ {t1.replace (" yra "," buvo ")}, dabar yra $ a."

Pamatykite skirtumą, Kotlinas yra tiek skaitomas, tiek švarus.

3. Nulinis saugumas (niekiniai ir niekiniai tipai)

„Java“ programoje pagal nutylėjimą viskas nėra. Taigi, norint išvengti NPE, reikėjo atlikti daugybę patikrinimų

// JAVA
Stygos pavadinimas = null;

// Saugus būdas išvengti NPE
if (niekinis! = vardas) {
    int ilgis = name.length ();
}
// Metė NPE
int ilgis2 = name.length ();

„Kotlin“ tipo sistema siekiama pašalinti niekinių nuorodų iš kodo, dar žinomo kaip milijardinė dolerio klaida, pavojų.

Įprasta eilutė negali išlaikyti nulinio, tačiau, jei norite leisti nenutraukiamą eilutę, turime nurodyti jos tipą kaip eilutė?

// KOTLINAS
val vardas: String = "Java"
name = null // Kompiliatoriaus klaida
val pavardė: eilutė? = "Kotlin"
lastName = null // Veikia gerai

Norėdama pasiekti kintamųjų savybes, įprasta eilutė neišmes NPE, bet eilutę? mesti NPE.

Yra keletas būdų to išvengti:

  • Jei naudojamas įprastas patikrinimas
// Normalus patikrinimas
val length = if (lastName! = null) lastName.length else -1
  • Naudojate „SafeCall“? Operatorius (viena geriausių Kotlino funkcijų)
// Saugus skambutis
val length = lastName? .length // Išvestis: lastName length arba null

Tai grąžina lastName.length, jei lastName nėra niekinis, kitu atveju nulinis. Saugūs skambučiai ?. yra tikrai naudingi tokiose nuorodų grandinėse kaip emp.

Jei nenorime grąžinti nulinės vertės ir norime grąžinti numatytąją vertę. Ar galime naudoti „Elvis Operator“?:

// Naudojant „Elvis“ operatorių
val length = lastName? .length ?: -1 = Output: lastName length or -1
  • Naudojant !! Operatorius (NPE mėgėjams)
// Naudojant !! operatorius
val. ilgis = pavardė !!. ilgis // Mesti NPE, jei paskutinis vardas nėra

4. Įveskite Check & Automatic Casting

„Java“ programoje mes naudojame instanceof norėdami patikrinti tipą, tada turime įvesti cast, kad galėtume pasiekti jo ypatybes.

// JAVA
if (pavadinkite stygos egzempliorių) {
    int ilgis = ((stygos) vardas) .length ();
}

Kotlin, mes naudojame yra patikrinti tipą, ir kompiliatorius protingai tipo mesti jį. Nuostabus

// KOTLINAS
if (vardas yra eilutė) {
    val ilgis = vardas.ilgis
}

Daugiau informacijos rasite čia.

5. Kai išraiška

Pvz .: Noriu rasti, kad objektas yra 1 arba 5 arba eilutė, ar koks nors kitas tipas.

„Java“ programoje aukščiau nurodytai užduočiai atlikti turime naudoti instanceof & switch.

// JAVA
privati ​​stygų jungiklisPavyzdys (objekto pavadinimas) {
    if (pavadinkime sveikojo skaičiaus egzempliorių) {
        Sveikasis skaičius tempInt = (Sveikasis skaičius) vardas;
        jungiklis (laikina) {
            1 atvejis:
            5 atvejis:
                grįžti „1 arba 5“;
            numatytas:
                grįžti „Ne 1 ar 5“;
        }
    } else if (pavadinkite stygos egzempliorių) {
        grįžti „Styga“;
    }
    grįžti „Ne int ar stygos“;
}

Kotlinoje, kai išraiškos dėka tai tampa taip paprasta. Tai automatiškai perduota, ir mes galime naudoti tiek daug išraiškų. Be to, jis yra labai lengvai skaitomas.

// KOTLINAS
įdomus, kai pavyzdys (vardas: bet koks): eilutė =
        kada (vardas) {
            1, 5 -> „1 arba 5“
            yra Int -> "Ne 1 ar 5"
            yra stygos -> "Stygos"
            kita -> „Ne intardas ar stygos“
        }

6. Užsiėmimai

„Java“ programoje turime sukurti „getter“ ir „setter“, kad pasiektume klasės ypatybes.

// JAVA
viešosios klasės klientas {
    privatus stygos pavadinimas;

    viešas klientas (eilutės pavadinimas) {
        this.name = vardas;
    }

    vieša eilutė getName () {
        grįžimo vardas;
    }

    public void setName (eilutės pavadinimas) {
        this.name = vardas;
    }
}

Kotlinuose - daugiau gaterių ir seterių. Bet mes galime sukurti, jei norite nustatyti pasirinktinius.

// KOTLINAS
klasės klientas (var vardas: eilutė)

Geriausiai tai yra Kotlinuose. Kai tai pamačiau, man vienas žodis atėjo į galvą WOW !!! Tai nuostabu

Taigi, tai tik trumpas kai kurių dalykų, kurie daro mūsų gyvenimą geresnį, peržiūra. Dėkojame, kad perskaitėte mano pirmąjį įrašą terpėje. Galite pasiekti visus aukščiau esančius kodo fragmentus, esančius nuorodoje.

Jei norite pradėti naudoti Kotlin, peržiūrėkite jų oficialius dokumentus. Tai tikrai gerai.

Norėdami pamatyti daugiau atnaujinimų, tiesiog sekite mane terpėje ar „Twitter“. Palikite savo mintis komentarų skiltyje arba susisiekite su manimi per „Twitter“ ir aš toliau įtrauksiu į serialą.

Jei jums tai patinka, nepamirškite apkabinti. Jei laikysite paspaudimo mygtuką, galite palikti daugiau apkaustų.