Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Corsair One i500: un PC gaming potente che può stare anche in salotto
Corsair One i500: un PC gaming potente che può stare anche in salotto
Corsair One i500 è un PC completo molto potente ma che occupa poco spazio e lo fa con stile. Un sistema che può servire tanto per lavorare quanto per giocare, con molti spunti interessanti ma anche qualche neo. Il prezzo è da capogiro.
realme 12X 5G: ottimo compromesso a meno di 200 euro
realme 12X 5G: ottimo compromesso a meno di 200 euro
Il realme 12X 5G offre buoni potenti, design accattivante, display fluido a 120Hz, fotocamera principale da 50MP, grande batteria e ricarica rapida a un prezzo competitivo nel mercato della fascia medio-bassa. Lo abbiamo provato e vi raccontiamo tutto nella nostra recensione completa
Recensione Apple iPad Pro M4: è più potente di un MacBook Air M3
Recensione Apple iPad Pro M4: è più potente di un MacBook Air M3
Il nuovo iPad Pro ha ora un processore M4 che nessun altro prodotto Apple possiede oggi, è più potente di un MacBook Air base, è più sottile di un iPod del passato e lo schermo ha ora un OLED incredibile. Mancano solo delle app veramente ''Pro'' per fare il salto definitivo e sostituire davvero un MacBook.   
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-02-2008, 22:50   #1
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2745
[JAVA] Array di ArrayList senza warning

Ciao a tutti. Vorrei creare un array di ArrayList ma non ci riesco senza generare warning.
Sia chiaro che non voglio disattivare i warning.
Questo è il codice che ho scritto:
Codice:
private void loadMiniDizionari(){
		ArrayList miniDiz[]=new ArrayList[30];
		for(int i=0;i<30;i++)
			miniDiz[i]=new ArrayList<String>();
		for(int i=0;i<dizionario.length;i++)
			miniDiz[dizionario[i].length()].add(dizionario[i]);
		miniDizionari=new String[30][];
		for(int i=0;i<30;i++)
			miniDizionari[i]=(String[])miniDiz[i].toArray(new String[0]);
	}
Il compilatore mi da i warning sulle righe evidenziate, ecco i messaggi:
Codice:
warning: [unchecked] unchecked call to add(E) as a member o
f the raw type java.util.ArrayList
                        miniDiz[dizionario[i].length()].add(dizionario[i]);
                                                           ^
warning: [unchecked] unchecked call to <T>toArray(T[]) as a
 member of the raw type java.util.ArrayList
                        miniDizionari[i]=(String[])miniDiz[i].toArray(new String
[0]);
                                                                     ^
2 warnings
Ho provato a scrivere la dichiarazione del vettore in mille modi ma cambia solo la posizione del warning, non riesco ad eliminarlo. Potete darmi una mano? Grazie!
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2008, 00:00   #2
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
dichiara l' arrayList utilizzando i generici introdotti nella java 5

ArrayList<qualcosa>
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2008, 08:25   #3
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2745
Quote:
Originariamente inviato da nuovoUtente86 Guarda i messaggi
dichiara l' arrayList utilizzando i generici introdotti nella java 5

ArrayList<qualcosa>
In questo caso non funziona perche' e' un array di ArrayList (prova anche tu), come vedi i minidiz[i] sono inizializzati correttamente.
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2008, 09:21   #4
vladix
Member
 
L'Avatar di vladix
 
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
prova a sostituire l'array di arraylist con

Codice:
ArrayList<ArrayList<String>> miniDiz = new  ArrayList<ArrayList<String>>();
che poi sarebbe anche meglio xche cosi la larghezza del array e dinamica
vladix è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2008, 15:49   #5
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2745
Funziona!!! Grazie!!!
Ecco il codice completo, nel caso serva a qualcuno:
Codice:
private void loadMiniDizionari(){
	ArrayList<ArrayList<String>> miniDiz=new ArrayList<ArrayList<String>>();
	for(int i=0;i<30;i++)
		miniDiz.add(new ArrayList<String>());
	for(int i=0;i<dizionario.length;i++)
		miniDiz.get(dizionario[i].length()).add(dizionario[i]);
	miniDizionari=new String[30][];
	for(int i=0;i<30;i++)
		miniDizionari[i]=(String[])miniDiz.get(i).toArray(new String[0]);
}
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2008, 22:29   #6
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
Quote:
Originariamente inviato da wingman87 Guarda i messaggi
In questo caso non funziona perche' e' un array di ArrayList (prova anche tu), come vedi i minidiz[i] sono inizializzati correttamente.
Avevi provato ad utilizzare i generici anche nella dichiarazione oltre che nell' inizializzazione?
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2008, 22:54   #7
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2745
Sìsì, ma non avevo provato come mi ha suggerito vladix. Credo sia l'unica soluzione, avevo provato a mettere ovunque quel maledetto <String>
wingman87 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Corsair One i500: un PC gaming potente che può stare anche in salotto Corsair One i500: un PC gaming potente che pu&og...
realme 12X 5G: ottimo compromesso a meno di 200 euro realme 12X 5G: ottimo compromesso a meno di 200 ...
Recensione Apple iPad Pro M4: è più potente di un MacBook Air M3 Recensione Apple iPad Pro M4: è più...
Recensione Kobo Clara Colour: il primo eReader a colori. Che spettacolo!  Recensione Kobo Clara Colour: il primo eReader a...
ASUS Advanced BTF: basta cavi in vista, assemblare un bel PC è un gioco da ragazzi ASUS Advanced BTF: basta cavi in vista, assembla...
State of Play torna il 30 maggio: nuovi ...
VivaTech 2024: la fiera parigina diventa...
Ericsson e Qualcomm testano con successo...
Swappie: il ricondizionato è la n...
Nothing colpisce ancora all'insegna del ...
Iliad compie 6 anni e festeggia con vala...
Samsung Galaxy Tab S9: super calo di cir...
Così le case cinesi vogliono evit...
Toyota in controtendenza: mentre tutti v...
NVIDIA GeForce RTX 5090: la nuova ammira...
Chromebook Plus ora con intelligenza art...
Tap to Pay arriva in Italia: l'iPhone pe...
Citroën ë-C3 e incentivi, da 4...
ECOVACS DEEBOT T30 OMNI e T30 PRO OMNI s...
YouTube, segnalazioni per video che salt...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 22:58.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Served by www2v