PDA

Visualizza la versione completa : [java] codice unsafe


Alex'87
16-02-2005, 18:28
ho scritto un programmino usando l'jdk 1.3.3 e funziona benissimo...
ricompilando lo stesso programma con l'jdk 1.5 il compilatore mi manda un warning segnalandomi che e' presente codice "checked or unsafe"... perchè?

Ho notato che il warning mi viene segnalato solo se istanzo oggetti di classe TreeSet e/o TreeMap... perchè? Cos'anno queste classi di diverso da prima?? Prima funzionavano bemnissimo!!!

:master:

netarrow
16-02-2005, 19:37
probabilmente fai qualche procedura che in java 5 è ritenuta dannosa.
Ad esempio fare certe operazioni in in generics secchi, ovvere con classi senza specificare il tipo con <tipo>

Un esempio che mi viene in mente di unsafe è usare instanceof su oggetti creati senza specificare il tipo.

Se posti il pezzo di codice dove da l'errore forse riesco ad essere + preciso.

:ciauz:

Alex'87
18-02-2005, 10:38
il warning viene solo se uso i metodi di TreeSet e TreeMap...



import java.util.TreeSet;

class CLASSE {
public static void main(String[] args) {
TreeSet treeSet = new TreeSet();
treeSet.add(new String("SDsdgdfg"));
}}


se compilo questo programma cosi comè mi segnala un warning... se compilo togliendo treeSet.add(...) neesun problema...

bho..

netarrow
18-02-2005, 16:42
Originariamente inviato da Alex'87
il warning viene solo se uso i metodi di TreeSet e TreeMap...



import java.util.TreeSet;

class CLASSE {
public static void main(String[] args) {
TreeSet treeSet = new TreeSet();
treeSet.add(new String("SDsdgdfg"));
}}


se compilo questo programma cosi comè mi segnala un warning... se compilo togliendo treeSet.add(...) neesun problema...

bho..

Prova a fare questo:

import java.util.TreeSet;

class CLASSE {
public static void main(String[] args) {
TreeSet<String> treeSet = new TreeSet<String>();
treeSet.add("SDsdgdfg");
}}

oppure prova a compilare il tuo codice usando:

javac -source 1.4 *.java

:ciauz:

Loading