ciao a tutti ,
spiego subito la mia perplessità
sto cercando di creare una classe Bilancio
all'interno faccio girare un file con 3 attributi :tipo(entrata/uscita),descrizione,costo;
il file viene letto correttamente ma quando confronto il tipo con una stringa utilizzando il metodo equals() salta l'if anche se il tipo è identico alla stringa e passa all'else.
metto qui il codice :



codice:
public static void main(String[] args) {

        Spese objspese;
        File fspese;
        RandomAccessFile rafspese;
        List listspese = new ArrayList ();
        String tipo, desc ;
        double cos, racspese = 0, racentrate = 0, totale = 0;
        int countspe = 0  , countent = 0 ;
        try {
            fspese = new File("bilancio.txt");
            rafspese = new RandomAccessFile(fspese, "rw");

            if (fspese.exists()) {
                rafspese.seek(rafspese.length());
            }

     rafspese.seek(0);
            objspese = new Spese();
            while (rafspese.getFilePointer() < rafspese.length()) {
                objspese.Lettura(rafspese);
                tipo  = objspese.tipo;
                cos = objspese.costo;
                if (tipo.equals("uscita")){                //questo if non viene mai letto
                    racspese += cos;                      //e quindi incrementa solamente racentrate
                }else{
                    System.out.println("");
                    racentrate += cos;
                }
            }
per quale motivo tipo non riconose al suo interno "uscita" pur essendoci?
spero di essermi spiegato correttamente