Junior — Middle
Kā atšķiras metodes apply un with to lietošanas un mērķa ziņā?
sobes.tech AI
Atbilde no AI
Kontekstā Android (un Kotlin), apply un with ir paplašināšanas funkcijas, kas ļauj ērtāk strādāt ar objektiem, taču tās atšķiras pēc lietošanas veida un atgrieztās vērtības.
-
apply: Izpilda koda bloku ar objektu kā
thisun atgriež pašu objektu. Bieži tiek izmantots objektu inicializācijai. -
with: Pieņem objektu un koda bloku, izpilda bloku ar objektu kā
this, bet atgriež pēdējās izteiksmes rezultātu.
Piemērs:
val paint = Paint().apply {
color = Color.RED
strokeWidth = 10f
}
val length = with(paint) {
color.toString() + strokeWidth.toString()
}
Šeit apply ir noderīgs objekta konfigurēšanai, bet with – operācijām ar objektu un rezultāta iegūšanai.