21Aug/090
Declararea și inițializarea de Array
După cum bine se știe un Array, în Java, se poate declara în felul următor:
int[] numere[] = new int[10][10];
Parantezele pătrate se pot pune ori la tipul de date, ori la numele variabilei, ori la amândouă. De asemenea dimensiunea poate lipsi la ultimele dimensiuni ale array-ului. Deci aș fi putut scrie și așa:
int[] numere[] = new int[10][];
Există două modalități de a face declararea și inițializarea unui Array:
- int[] numere = new int[] {1, 2, 3, 4};
Atenție: cand se face inițializarea array-ului nu se mai trece dimensiunea! - int[] numere = {1, 2, 3, 4};
Acesta este un bloc de inițializare, care poate fi folosit în locul liniei de mai sus, are același efect.
Diferența între cele două modalități este că cea de-a doua nu este o expresie și nu poate fi folosită în felul următor:
int[] numere;
numere = {1, 2, 3, 4}; //nu e ok
numere = new int[] {1, 2, 3, 4}; //e ok
18Aug/090
Tipul Enum* (java.lang.Enum)
Câte ceva despre tipul Enum:
- un tip care conține un set de constante;
- un tip enum poate avea constructori, dar aceștia trebuie declarați după definirea constantelor și pot fi doar private;
- toate enum-urile sunt subtipuri ale clasei java.lang.Enum, prin urmare sunt comparabile și serializabile;
- la definirea constantelor se poate specifica o listă de parametri pentru fiecare, iar la încărcarea enum-ului pentru fiecare constantă se va apela constructorul corespunzător semnăturii ei;
- un enum poate fi declarat în cadrul unei alte clase, dar doar ca membru de prim nivel sau în cadrul unui membru static; toate enum-urile declarate în cadrul unei alte clase sunt implicit statice;
- deși un enum poate coține diferite metode abstracte, tipul nu va fi marcat ca și abstract, ca în cazul claselor obișnuite;
- fiecare constantă a unui enum poate implementa diferite metode specifice, sub forma unor clase anonime care sunt instanțiate la “runtime”;
- un enum poate implementa interfețe dar nu poate extinde;
- Compararea cu == sau cu equals este echivalentă în cazul constantelor unui enum;
*Conform Java 1.6
