val arrayListOf () dans l'objet compagnon renvoie une valeur non valide

mmaciejow:

J'ai le code:

class DrawerViewModel : ViewModel() {

    fun updateDrawerProfiles() {
        val example = DrawerUtils.exampleProfile
        example.add(  DrawerAccount(3, "NEW Test") )
        setDrawerProfiles(example)
    }

}
class DrawerUtils {

    companion object {

        val exampleProfile = arrayListOf(
            DrawerAccount(1, "Facebook"),
            DrawerAccount(2, "Google")
        )

    }
}

[Exécuter Exemple de code] (https: //play.kotlinlang.org / #gYXJyYXlMaXN0T2YoXG4gICAgICAgICAgICBEcmF3ZXJBY2NvdW50KDEsIFwiRmFjZWJvb2tcIiksXG4gICAgICAgICAgICBEcmF3ZXJBY2NvdW50KDIsIFwiR29vZ2xlXCIpXG4gICAgICAgIClcbiAgICAgIFxuICAgIH1cbn1cbmRhdGEgY2xhc3MgRHJhd2VyQWNjb3VudCh2YXIgaWQ6IEludCwgdmFyIG5hbWU6IFN0cmluZyApXG5cbiJ9 )

quand je lance plusieurs fois la fonction updateDrawerProfiles retour taille vailid de la liste. RUN x3 updateDrawerProfiles () | SORTIE: 3 4 5

il devrait être 3 3 3.

Quand je me déplace updateDrawerProfiles fonction outsiede objet compagnon - il est ok. Pourquoi est-il comme ça?

Zun:

il devrait être 3 3 3.

Faux.

Le DrawerUtilscompagnon est un Singleton. Créer une seule fois et l'objet garde existant. Vous ajoutez de nouvelles valeurs à exampleProfile3 fois, il est donc logique pour la taille de croître à 3, puis 4 puis 5.

S'il vous plaît faire de la lecture sur ce sujet https://kotlinlang.org/docs/tutorials/kotlin-for-py/objects-and-companion-objects.html

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=343142&siteId=1
conseillé
Classement