... | ... | @@ -16,20 +16,30 @@ val c : Point? = null |
|
|
val d : Point = null // ERROR!
|
|
|
```
|
|
|
|
|
|
Hodnota _null_ reprezentuje "táto premenná neobsahuje žiaden vytvorený objekt".
|
|
|
Hodnota _null_ reprezentuje "táto premenná neobsahuje žiadny vytvorený objekt".
|
|
|
|
|
|
**Ak sa nad premennou, ktorá obsahuje `null` zavolá metóda/premenná, program spadne.**
|
|
|
|
|
|
Našťastie, Kotlin poskytuje bezpečné volanie `?.`, ktoré zavolá metódu/premennú iba v prípade, že daný objekt nie je `null`.
|
|
|
|
|
|
```kotlin
|
|
|
val len: Int? = name?.length
|
|
|
```
|
|
|
|
|
|
Elvis operátor `?:` ak chceme konkrétnu hondotu namiesto `null`.
|
|
|
|
|
|
```kotlin
|
|
|
val len: Int = name?.length ?: 0
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
**Indexujeme od 0.**
|
|
|
|
|
|
## [Pole](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)
|
|
|
|
|
|
Pole je statická dátová štruktúra -- má predom definovaný počet prvkov.
|
|
|
Ak sa prvok na nejakej pozícii nenachádza, je tam null.
|
|
|
Pole je statická dátová štruktúra - má predom definovaný počet prvkov.
|
|
|
Ak sa prvok na nejakej pozícii nenachádza, je tam `null`.
|
|
|
|
|
|
Príklad poľa, ktoré má 6 prvkov:
|
|
|
|
... | ... | @@ -51,7 +61,7 @@ myArray[5] = 20 |
|
|
myArray[9] = 1000
|
|
|
```
|
|
|
|
|
|
Pole obsahuje prvky jedného typu -- typ definujeme v "zobákoch", tzv. generikách: `Array<String>`.
|
|
|
Pole obsahuje prvky jedného typu - typ definujeme v ostrých zátvorkách, tzv. generikách: `Array<String>`.
|
|
|
|
|
|
Ako zistiť dĺžku poľa: `myArray.length`
|
|
|
|
... | ... | @@ -116,7 +126,7 @@ val isTenNotInList = 10 !in list |
|
|
|
|
|
## Set
|
|
|
|
|
|
Množina je rovnaká ako zoznam, akurát neukladá duplicity a neindexuje prvky (prvok na 5. pozícii skrátka neexistuje, pretože nemám pozície).
|
|
|
Množina je rovnaká ako zoznam, akurát neukladá duplicity a neindexuje prvky (prvok na `n`-tej pozícii skrátka neexistuje, pretože množina nemá pozície).
|
|
|
|
|
|
|
|
|
```kotlin
|
... | ... | |