Junior — Middle
Miben különböznek az apply és with módszerek használat és cél tekintetében?
sobes.tech MI
Válasz az MI-től
Android (és Kotlin) kontextusban az apply és a with kiterjesztési függvények az objektumokkal való kényelmes munkát szolgálják, de különböznek a használat módjában és a visszatérési értékben.
-
apply: Egy kódrészletet futtat az objektummal
thisként, és visszaadja magát az objektumot. Gyakran használják objektumok inicializálására. -
with: Egy objektumot és egy kódrészletet fogad, végrehajtja a blokkot az objektummal
thisként, de visszaadja a blokk utolsó kifejezésének eredményét.
Példa:
val paint = Paint().apply {
color = Color.RED
strokeWidth = 10f
}
val length = with(paint) {
color.toString() + strokeWidth.toString()
}
Itt az apply az objektum konfigurálására hasznos, a with pedig műveletek végrehajtására az objektummal és eredmény szerzésére.