Originariamente inviato da LeleFT
Cerchiamo di capire per bene la problematica.
Vuoi confrontare due stringhe o due "percorsi"? Perchè non sono esattamente la stessa cosa (almeno, non ad alto livello).
Punto primo:
(C:\Documents and Settings\nome\Desktop\ciao)
questa NON è una stringa. E' semplicemente una riga che il compilatore interpreta come spazzatura.
"C:\\Documents and Settings\\nome\\Desktop\\ciao"
Questa è una stringa (le virgolette la delimitano e i caratteri speciali sono stati quotati).
Se voglio verificare se due stringhe sono uguali uso il metodo equals:
codice:
String s1 = "C:\\Documents and Settings\\nome\\Desktop\\ciao";
String s2 = "C:\\Documents and Settings\\nome\\pippo";
if ( s1.equals(s2) ) {
// Sono uguali
}
Se si tratta di percorsi a dei file, puoi anche usare la classe File... effettua banalmente lo stesso controllo, ma ti permette di avere delle funzioni in più da usare (ad esempio, è in grado di dirti se quel file esiste oppure no e se la stringa che gli passi è valida come percorso ad un file):
codice:
File f1 = new File("C:\\Documents and Settings\\nome\\Desktop\\ciao");
File f2 = new File("C:\\Documents and Settings\\nome\\pippo");
if ( f1.equals(f2) ) {
// Sono uguali
}
Ciao.