Java >> Tutoriel Java >  >> Java

Inconvénients / Limitations des tableaux d'objets en Java

Inconvénients des tableaux d'objets

1) Nous devrions connaître la taille à l'avance, ce qui peut ne pas être possible à chaque fois

Exemple 1 :Déclarer un tableau d'objets avec une taille

class ObjectArrays {
	public static void main(String[] args){
		Object[] a = new Object[10];
		System.out.println(a[0]);
	}
}

Sortie (Description)

Ici, Object Array avec la taille 10 et nous imprimons le premier élément des Object Arrays, nous obtiendrons donc null en sortie car Object[] est un objet et les objets contiennent null par défaut si nous ne donnons aucune valeur.

E:\javasource>java ObjectArrays
null

Exemple 2 :Déclarer un tableau d'objets sans taille

class ObjectArrays {
	public static void main(String[] args){
		Object[] a = new Object[];
		System.out.println(a[0]);
	}
}

Sortie (Description)

Ici, Object Array sans taille et nous imprimons le premier élément d'Object Arrays, nous aurons donc une erreur de compilation car dans Object [] la taille est obligatoire, nous ne pouvons pas instancier des tableaux d'objets sans taille.

E:\javasource>javac ObjectArrays.java
ObjectArrays.java:8: array dimension missing
                                Object[] a = new Object[];
                                                         ^
1	error

2) Les tableaux d'objets ne fournissent pas de méthodes prêtes à l'emploi pour chaque exigence. (c'est-à-dire que le programmeur est responsable d'écrire la logique pour ce type d'exigence).

Exemple 1 :Déclarer un tableau d'objets avec une taille

class ObjectArrays {
	public static void main(String[] args){
		Object[] a = new Object[10];
		System.out.println(a[0].add("A"));
	}
}

Sortie (Description)

Ici, la méthode add() donnera une erreur, elle ne fournit pas de fonctionnalité prête à l'emploi.

E:\javasource>javac ObjectArrays.java
ObjectArrays.java:9: cannot find symbol
symbol  : method add(java.lang.String)
location: class java.lang.Object
                                System.out.println(a[0].add("A"));
								^
1	error

3) L'utilisation de tableaux d'objets mémoire n'est pas recommandée.

Il peut contenir des éléments homogènes et hétérogènes tandis que d'autres tableaux ne peuvent contenir que des éléments homogènes.

Exemple 1 :Déclarer un tableau d'objets avec une taille

class ObjectArrays {
	public static void main(String[] args){
		Object[] a = new Object[10];
		a[0]   = new Integer[10];
		a[1]   = new Boolean[10];
		System.out.println(a[0]);
		System.out.println(a[1]);
	}
}

Sortie (Description)

Ici, les tableaux d'objets peuvent contenir des types d'objets différents ou identiques. Dans ce programme, la méthode Object Class toString() appellera et imprimera la sortie dans ce format classname@to_hexadecimal code (c'est-à-dire Integer;@360be0).

E:\javasource>java ObjectArrays
[Ljava.lang.Integer;@360be0
[Ljava.lang.Boolean;@45a877

Balise Java