Junior — Middle
Wat is het verschil tussen de methoden apply en with qua gebruik en doel?
sobes.tech AI
Antwoord van AI
In de context van Android (en Kotlin) zijn apply en with extensiefuncties om gemakkelijk met objecten te werken, maar ze verschillen in gebruik en de waarde die ze teruggeven.
-
apply: Voert een codeblok uit met het object als
thisen retourneert het object zelf. Vaak gebruikt voor het initialiseren van objecten. -
with: Neemt een object en een codeblok, voert het blok uit met het object als
this, maar retourneert het resultaat van de laatste uitdrukking in het blok.
Voorbeeld:
val paint = Paint().apply {
color = Color.RED
strokeWidth = 10f
}
val length = with(paint) {
color.toString() + strokeWidth.toString()
}
Hier is apply handig voor het instellen van het object, en with voor het uitvoeren van operaties met het object en het verkrijgen van een resultaat.