27-07-2010, 08:09 PM
Justement non.
Le mot clé var est très important, il est d'ailleurs à éviter autant que possible et il faut privilégié val.
Donc :
val i = 0
var j = 0
Si tu mets que ça, il infère le type en entier, tu peux aussi mettre :
val i : Int = 0
var j : Int = 0
Quelle est la différence ?
Et bien quand tu mets val tu ne peux plus changer le contenu de ta variable (val = valeur), tandis que lorsque tu mets var tu peux changer le contenu de ta variable (var = variable)
Si donc par exemple tu fais :
val monObjet = new MaClasse()
Tu es assuré que monObjet pointe toujours sur la même référence d'objet vu que tu as mis "val" et que ça ne peut plus être changé
Pour le détail des deux derniers exemples je le fais plus tard dans la soirée, je ne vais pas tarder à manger et ça prend du temps à expliquer
Le mot clé var est très important, il est d'ailleurs à éviter autant que possible et il faut privilégié val.
Donc :
val i = 0
var j = 0
Si tu mets que ça, il infère le type en entier, tu peux aussi mettre :
val i : Int = 0
var j : Int = 0
Quelle est la différence ?
Et bien quand tu mets val tu ne peux plus changer le contenu de ta variable (val = valeur), tandis que lorsque tu mets var tu peux changer le contenu de ta variable (var = variable)
Si donc par exemple tu fais :
val monObjet = new MaClasse()
Tu es assuré que monObjet pointe toujours sur la même référence d'objet vu que tu as mis "val" et que ça ne peut plus être changé
Pour le détail des deux derniers exemples je le fais plus tard dans la soirée, je ne vais pas tarder à manger et ça prend du temps à expliquer