non, en java, on ne pense pas comme en C. De plus, c'est bien joli d'allouer sur la pile, mais au final, on ne sais rien faire de ces objets:
par question de les passer à d'autres méthode autrement que par copie (sous peine que de l'autre coté on garde une référence dessus qui dure plus longtemps que l'appel à fnct) et la copie, ca prend du temps. Et dans les méthodes de l'objets, il ne peux pas s'autoréférencer nulle par (pour le même problème) -> en java on a supprimé simplement les objets sur la pile, et on fait avec et, effectivement, new ne consomme que des clopinette. C'est plus le code à l'intérieur du constructeur qui va consommer
Maintenant, simplement, on évite de créer 500.000 objets par secondes, sinon, le GC, il va pas apprécier, lui C'est une question d'optimisation de ses algorithmes.
Et non, on ne peux pas créer des type primitifs "custom".
Edit: pour les tableaux tu as aussi cette notation
SVertex[] vertexArray = {null,null,null,null}
mais mon petit doigt me fait croire que le compilateur va quand même tapper un new quelque part
Partager