Razlika između var u Kotlinu i Javi 10

1. Uvod

U ovom ćemo kratkom vodiču pokriti razlike između var ključne riječi u Javi i Kotlinu.

Pokrivamo identifikator var na Javi detaljnije u našem članku Java 10 LocalVariable Type-Inference i govorimo o ključnoj riječi var u Kotlinu u našem članku Kotlin const, var i val Ključne riječi.

2. Izborna deklaracija o tipu u odnosu na deklaraciju bez tipa

2.1. Kotlin

Ako istovremeno proglasimo promjenjivu varijablu i inicijaliziramo je, ne trebamo navesti vrstu:

var myVariable = 1

Međutim, to možemo učiniti ako odlučimo:

var myVariable: Int = 1

Ako želimo proglasiti varijablu bez da je izravno inicijaliziramo, moramo navesti njezin tip, a vrijednost možemo dodijeliti kasnije:

var myVariable: Int myVariable = 1

2.2. Java

U Javi možemo samo koristiti var ako varijablu inicijaliziramo na licu mjesta, a ne možemo pružiti informacije o tipu čak i ako želimo:

var myVariable = 1;

Sljedeće je nevaljano:

var myVariable; myVariable = 1;

I dobivamo pogrešku u vremenu prevođenja:

Nije moguće zaključiti tip: 'var' na varijabli bez inicijalizatora

3. Ključna riječ vs identifikator

U Kotlinu, var je ključna riječ, što znači da je ne možemo koristiti kao naziv varijable, parametra, metode ili klase. Suprotno tome, Java 10 definira var kao identifikator s posebnim značenjem.

To znači da u Javi 10 i dalje možemo definirati varijablu, parametar ili metodu s imenom var:

public void var () {// učiniti nešto} public void method (int var) {// učiniti nešto} public void method () {int var = 1; // učini nešto }

Imajte na umu da od Jave 10 više nije moguće definirati klasu s imenom var:

javna statička klasa var {}

Gornji kod rezultira pogreškom u vremenu kompajliranja:

Pogreška: (1, 1) java: 'var' ovdje nije dopušten od izdanja 10, 'var' je ograničeno ime tipa i ne može se koristiti za deklaracije tipa

To osigurava kompatibilnost sa starijim verzijama Jave.

4. Promjenjivost

Varijabla deklarirana s var u Kotlinu je uvijek promjenjiv, dok je varijabla deklarirana sa var u Javi može biti promjenjiv ili konačan:

var mutableInt = 1; konačna var nepromjenjivaInt = 1;

U Kotlinu nema konačni ključna riječ - konačne varijable deklariraju se s val umjesto toga:

val nepromjenjivInt = 1

5. Globalna vs lokalna upotreba

5.1. Kotlin

U Kotlinu možemo koristiti var za deklariranje globalnih i lokalnih varijabli, kao i članova klase:

var myGlobalVar = 3 klase MyClass {var myVar = 3 javna zabava myFunction (): Int {var myVariable = 3 return myVariable}}

5.2. Java

U Javi možemo koristiti var samo za deklariranje lokalnih varijabli:

javna klasa MyClass {// nije moguće za varijable člana // private var myVar = 1; javni int myFunction () {var myVariable = 3; return myVariable; }}

6. Zaključak

U ovom smo članku pogledali razliku između var u Kotlinu i Javi. Iako oboje izgledaju vrlo slično, između njih postoje temeljne razlike.

Najvažnija je razlika u tome var u Kotlinu se radi o promjenjivosti i var u Javi govori o zaključivanju tipa.


$config[zx-auto] not found$config[zx-overlay] not found