Newsgroup: it.comp.java
Titolo: aiutatemi a capire quest'if

Ho questo metodo, all'interno dichiaro una variabile err di tipo
stringa e assegno -*- come valore, la variabile di ingresso è di tipo
stringa e si chiama dettagli,  questa viene elaborata affinchè ottengo
solo un codice che mi serve, ad es. ORA-01017, tale codice è
memorizzato nella variabile cod. Ora considerando il caso sottostante
cod è effettivamente uguale a ORA-01017 e questo lo deduco grazie alla
System.out.println(cod), quello che non mi riesco a spiegare è perchè
a err nn viene assegnata la frase: "Credenziali di login non valide",
infatti viene mostrato sempre -*-.
Grazie delle risposte.
================================
    static void showErr(String dettagli)
    {
        alerts errore = new alerts();
        // INIZIALIZZO LE VARIABILI
        String err = "-*-";
        String cod = "uk";
        // PRELEVO IL CODICE DI ERRORE DALLA STRINGA DETTAGLI
        if(dettagli.indexOf("ORA-")!=-1){
            int startIndex = dettagli.indexOf("ORA-");
            int endIndex = dettagli.indexOf(":");
            cod = dettagli.substring(startIndex,endIndex);
        }
        // SE IL PARAMETRO DI INGRESSO è VUOTO CREO UN MSG DI DEFAULT
        if (dettagli==null) {
            dettagli = "Nessuna informazione aggiuntiva.";
        }
            // STAMPO UN MESSAGGIO PERSONALIZZATO IN BASE AL cod
(CODICE ERRORE ORACLE)
            // SE NN SI è OTTENUTO NESSUN CODICE CREO UN MSG DI
DEFAULT
            if (cod=="uk"){
                err = " Errore non classificato!!! \n Cliccare
Dettagli per avere informazioni aggiuntive.";
            } else if (cod=="ORA-01017") {
                err = "Credenziali di login non valide.";
            }
        // RENDO QUESTO FORM VISIBILE E STAMPO I MESSAGGI
        System.out.println(cod); // variabile di prova
        errore.setVisible(true);
        errore.txtDettagli.setText(dettagli);
        errore.txtBox.setText(err);
    }
================================

 infatti viene mostrato sempre -*-.
Per eguagliare le stringhe usa il metodo equals(), non ==

> viene mostrato sempre -*-.
G> Per eguagliare le stringhe usa il metodo equals(), non ==
Aggiungo:
== verifica che le variabili facciano riferimento allo stesso oggetto.
equals() verifica che lo stato degli oggetti (in questo caso stringhe) siano
uguali.
Considerazione:
Ma è scritto nella documentazione!
-- 
 /\           ___
/___/\_|_|\_|__|___Gian Uberto Lauri_____
  //--\| | \|  |   Integralista GNUslamico
\/                 e coltivatore diretto di Software
A Cesare avrei detto di scrivermi a 
fn...@rat.vg

 Ma è scritto nella documentazione!
Simpaticamente... e chi razzo c'ha voglia di leggersi la
documentazione? Tanto c'è l'enneggì... :)
-- 
Scientology: se la conosci la eviti, se la conosci non ti uccide...
http://xenu.com-it.net
 - 
http://xenu.freewinds.cx
 - 
http://www.xenu.net
(per rispondere personalmente leva IlDitoDalCulo)
http://www.webalice.it/ech3l0n/HastaLaVictoria.jpg
   -   Siempre!

 writes:
O> Simpaticamente... e chi razzo c'ha voglia di leggersi la
O> documentazione? Tanto c'č l'enneggě... :)
Meglio leggere  la documentazione...  I libri non  mandano mai  a quel
paese :) :) :)
