Liste di file... if non funzionante

di il
4 risposte

Liste di file... if non funzionante

Salve,

ero partito da un programma abbastanza complesso quando è saltato fuori un errore. Ho tolto quello che non era legato all'errore ed ecco il codice "difettato":

package main;

import java.io.File;

public class ConcatFiles
{
	public static void main(String[] args)
	{
		try
		{
			File f = new File(new File("").getAbsolutePath());
			
			String[] paths = f.list();
			
			for(int i = 0; i < paths.length; i++)     
			{
				System.out.print(paths[i]);
				if ((paths[i] != "ConcatFiles.jar"))
				{					
					System.out.println(" OK");
				}
			}
		}
		catch(Exception e)
		{
			System.out.println(e);
		}
	}
}
Quando eseguo il programma (tramite prompt), tra i vari

immagine1.jpg OK
testo1.txt OK
testo2.txt OK
video1.mp4 OK

Esce anche ConcatFiles.jar OK

(il programma si chiama proprio ConcatFiles.jar)

Che cosa sto sbagliando? Possibile che sbaglio su un if?

Aiuto

4 Risposte

  • Re: Liste di file... if non funzionante

    Criller ha scritto:


    if ((paths != "ConcatFiles.jar"))

    Il contenuto delle stringhe (e degli oggetti in generale) si confronta con equals(). Gli operatori == e != si basano solo sulla "identità" degli oggetti.
  • Re: Liste di file... if non funzionante

    andbin ha scritto:


    Criller ha scritto:


    if ((paths != "ConcatFiles.jar"))

    Il contenuto delle stringhe (e degli oggetti in generale) si confronta con equals(). Gli operatori == e != si basano solo sulla "identità" degli oggetti.


    Per esempio?
  • Re: Liste di file... if non funzionante

    Funziona ca...
  • Re: Liste di file... if non funzionante

    Ma... perchè sta roba qua?
    
    File f = new File(new File("").getAbsolutePath());
    
    che è perfettamente equivalente a
    
    File f = new File("");
    
    senza la creazione e immediata distruzione di un oggetto inutile?
Devi accedere o registrarti per scrivere nel forum
4 risposte