« Java/Tableaux » : différence entre les versions

Contenu supprimé Contenu ajouté
RM77 (discussion | contributions)
RM77 (discussion | contributions)
Ligne 10 :
Pratiquement tous les langages gèrent les tableaux. Utiliser des tableaux en [[Langage C|C]] ou [[C++]] est dangereux car ces tableaux ne sont que des blocs de mémoire. Si un programme accède à un tableau en dehors de son bloc mémoire, ou s'il utilise la mémoire avant initialisation ( erreurs de programmation fréquentes) les résultats seront imprévisibles.
 
Un des principaux objectifs de Java est la sécurité, aussi, un grand nombre des problèmes dont souffrent [[Langage C|C]] et [[C++]] ne sont pas rejetées sous Java. On est assuré qu'un tableau Java est initialisé et qu'il ne peut être accessible au délà de ses bornes. La vérification des bornes se fait au prix d'un petit excédent de mémoire pour chaque tableau ainsi que la vérification de l'index lors de l'exécution, mais on suppose que le gain de sécurité et en productivité vaut la dépense.
 
Quand on crée un tableau d'objet, on crée en réalité un tableau de références, et chacune de ces différences est automatiquement initialisée à une valeur particulière avec son propre mot clé : null. Quand Java voit null, il reconnaît que la référence en question ne pointe pas vers un objet. Il faut affecter un objet à chaque référence avant de l'utiliser et si on essaye d'utiliser une référence encore null, le problème sera signalé lors de l'exécution.Ainsi, les erreurs typiques sur les tableaux sont évitées en Java.