Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    655

    JTextField.getText() è sempre != "", come mai?

    Ciao a tutti, non riesco a capire una cosa. Dunque :

    [CODE]
    private javax.swing.JTextField TextField;
    TextField= new javax.swing.JTextField();
    if(TextField.getText() == ""){
    System.out.println("vuoto");
    }else{
    System.out.println("pieno");
    }
    [CODE]

    Mi viene stampato "pieno" anche se nel campo non ho inserito nessun valore. Se invece scrivo :

    [CODE]
    private javax.swing.JTextField TextField;
    TextField= new javax.swing.JTextField();
    if(TextField.getText().length() == 0){
    System.out.println("vuoto");
    }else{
    System.out.println("pieno");
    }
    [CODE]

    Allora mi viene stampato "vuoto"; Ma da cosa dipende questa cosa??

  2. #2
    Utente di HTML.it L'avatar di Metflar
    Registrato dal
    Apr 2007
    Messaggi
    790
    le stringhe si confrontano con il metodo equals
    conoscenze: C/C++, Java, PHP, Python
    [No PM tecnici o di qualsiasi genere]

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    142
    Non so perchè sia differente, ma nel primo caso ti conviene usare il metodo toString() e usare equals o compareTo.

    codice:
    if(TextField.getText().toString().equals("") ){
    }

  4. #4
    Utente di HTML.it L'avatar di Metflar
    Registrato dal
    Apr 2007
    Messaggi
    790
    Originariamente inviato da som
    Non so perchè sia differente, ma nel primo caso ti conviene usare il metodo toString() e usare equals o compareTo.

    codice:
    if(TextField.getText().toString().equals("") ){
    }
    getText() ritorna già un String
    conoscenze: C/C++, Java, PHP, Python
    [No PM tecnici o di qualsiasi genere]

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: JTextField.getText() è sempre != "", come mai?

    Originariamente inviato da melmar20
    Ma da cosa dipende questa cosa??
    getText() dei campi di testo restituisce sempre un nuovo oggetto String. E appunto non va bene usare == perché nessuna tua stringa (literal nel sorgente o generata in qualche modo) potrebbe mai essere lo stesso identico oggetto ritornato da getText!!!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    142
    già mi sono lasciato prendere dalla fretta.. cmq mezza dritta giusta c'era

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.