Sobes.tech
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 this en 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.