Lors de la conversion de mon projet de Java en Kotlin, j'ai vu qu'Android Studio créait un autre type de déclaration que celui auquel je suis habitué. Je veux savoir si cette déclaration est une meilleure pratique que la déclaration d'objet normale.

Ma déclaration normale : val level : Level = ship.levels.first

Mais en convertissant mon projet, cela a été mis d'une autre manière : val (_, buildTime, _, _, components) = ship.levels.first

Je suppose que le convertisseur le fait parce que je n'ai besoin que de ces 2 champs, mais je me demande s'il y a d'autres avantages à l'utiliser au lieu de la déclaration d'objet occasionnelle.

Merci d'avance de m'aider à mieux comprendre :)

1
Ilias 7 oct. 2020 à 17:34

1 réponse

Meilleure réponse

C'est ce qu'on appelle une déclaration de déconstruction.

Il est disponible pour tout type prenant en charge la convention component1() etc., qui inclut les listes, les cartes et les classes de données.

Certains des avantages de l'utilisation des déclarations de déconstructuration sont :

  • Pas besoin d'écrire it (ou le nom de la variable liée) à chaque fois que vous souhaitez accéder à une propriété.
  • N'utilisez que les propriétés qui vous intéressent, ce qui signifie que vous ne pouvez pas effectuer d'opérations sur l'objet déstructuré par erreur.

Mais c'est vraiment un choix de style et vous devez décider lequel est le meilleur, ou ce que vous préférez, au cas par cas.

0
Adam Millerchip 7 oct. 2020 à 14:40