Junior — Middle
V čom sa líšia metódy apply a with z hľadiska ich použitia a účelu?
sobes.tech AI
Odpoveď od AI
V kontexte Androidu (a Kotlinu) sú apply a with rozširujúce funkcie na jednoduchšiu prácu s objektmi, avšak líšia sa spôsobom použitia a hodnotou, ktorú vracajú.
-
apply: Spustí blok kódu s objektom ako
thisa vráti samotný objekt. Často sa používa na inicializáciu objektov. -
with: Prijme objekt a blok kódu, vykoná blok s objektom ako
this, ale vráti výsledok posledného výrazu v bloku.
Príklad:
val paint = Paint().apply {
color = Color.RED
strokeWidth = 10f
}
val length = with(paint) {
color.toString() + strokeWidth.toString()
}
Tu je apply užitočné na nastavenie objektu, a with na vykonanie operácií s objektom a získanie výsledku.