Newsgroup: it.comp.java
Titolo: Problema con tipo boolean

Sto costruendo un gestionale e finora sono soddisfatto del lavoro. Il 
problema è il seguente:
1) ho creato un oggetto Conto(), con diversi metodi tra i quali
        public boolean isBanca() { ... };
2) il metodo funziona perfettamente, ad esempio inserito come valore di 
cella di una tabella restituisce il valore corretto (un checkbox spuntato se 
il valore resituito è true);
3) ora voglio utilizzare questo metodo per generare eventi autonomi sulla 
base del valore assunto da isBanca(), ad esempio con un
    Conto conto = new Conto("argomenti");
    if (conto.isBanca()) {
            ....
    }
    ma mi restituisce sempre il valore false, quindi l'istruzione non viene 
eseguita.
Non so davvero perché!
Grazie a chi si interesserà del problema.


a. Al punto 2 hai detto che funziona "perfettamente" ... ?
b. Al punto 1 non vi è una riga di implementazione...mi spiace ma ho perso
la palla di vetro, non riesco a vedere oltre ai punti
di sospensione...Scherzo ;)
Dovresti argomentare un (bel) po' il post. Ricordati che qui nessuno sa di
cosa parli;
Personalmente ho capito solo quanto segue:
1. Ho un metodo che restituisce un boolean
2. Ha sempre funzionato bene (l'esempio non mi è chiaro...)
3. Ora però non più...
bye!

OK.
La classe conto (ovviamente è più elaborata...)
    public class Conto () {
        public Conto(boolean banca) {
            this.banca = banca;
        }
        public void setBanca(boolean banca) {
                        this.banca = banca;
                }
        public boolean isBanca() {
            return banca;
        }
        private boolean banca = false;
     }
Se creo una nuova variabile
Conto conto = new Conto(true);
e la inserisco in una tabella
...
    getValueAt(row, col) = conto.isBanca();
...
tutto funziona,
se creo una lista di conti
    List list = new LinkedList();
e poi
    ...
        list.add(conto1);
     list.add(conto2);
    ...
controllo con una semplice videata
    System.out.println(conto.isBanca());
effettivamente mi restituisce "true" per i "conti" così istanziati
ma se cerco di usare il metodo isBanca() in un'istruzione del tipo
    if(conto.isBanca()) {...}
il codice tra le graffe non viene eseguito (qualunque sia) perché isBanca() 
resituisce sempre "false";
Questa volta spero di aver scritto tutto quello che serve. 

     System.out.println(conto2.isBanca());
Oppure
2. Volevi scrivere esattamente quello che hai scritto ed è un errore
rispetto al quesito posto.
Mi permetto di darti alcuni consigli.
Quando fai debug:
1. Devi essere + preciso che mai, devi setacciare il sorgente, non devi
guardarlo a grandi linee.
2. Non devi presupporre che qualcosa del codice sia corretta: se c'è un
errore e non sai dov'è allora potrebbe essere proprio dove
pensi non sia.
3. Non devi modificare una classe altrimenti induci altri errori; se non hai
un debugger limitati a semplici println
In buona fede avrai pensato fosse inutile inviare il codice di tutta la
classe,
tuttavia con lo pseudo sorgente inviatomi posso solo riscontrare gli errori
ad esso riferito...
quindi inviare pseudo codice è altrettanto inutile..
... insomma, posta tutto il codice ho pronta la lente! :)