Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2015
    Messaggi
    81

    problema su metodo booleano

    Salve a tutti.
    non riesco a capire perchè questo metodo mi ritorna sempre false:
    codice:
    public boolean compareTask(Task task1, Task task2)
    	{
    		if(task1.TaskName == task2.TaskName)
    		{
    		System.out.println("true");	
    		return true;
    		}else{
    			System.out.println("false");
    			return false;
    		}
    	}
    task1.TaskName e tast2.TaskName sono due semplici stringhe identiche(le ho fatte anche stampare per sicurezza) ma il metodo mi ritorna sempre false...

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,325
    Se TaskName è un attributo di tipo String, allora il confronto è sbagliato: gli oggetti non si confrontano con l'operatore ==, ma usando il metodo equals():


    codice:
    if ( task1.TaskName.equals(task2.TaskName) ) {
       ...   // uguali
    } else {
       ...   // diversi
    }

    L'operatore == usato con gli oggetti confronta i reference e restituisce true se e solo se i due attributi confrontati puntano entrambi allo stesso identico oggetto (non guarda il contenuto, ma proprio il riferimento).


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2015
    Messaggi
    81
    Quote Originariamente inviata da LeleFT Visualizza il messaggio
    Se TaskName è un attributo di tipo String, allora il confronto è sbagliato: gli oggetti non si confrontano con l'operatore ==, ma usando il metodo equals():


    codice:
    if ( task1.TaskName.equals(task2.TaskName) ) {
       ...   // uguali
    } else {
       ...   // diversi
    }

    L'operatore == usato con gli oggetti confronta i reference e restituisce true se e solo se i due attributi confrontati puntano entrambi allo stesso identico oggetto (non guarda il contenuto, ma proprio il riferimento).


    Ciao.
    grazie mille per l'aiuto

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 © 2025 vBulletin Solutions, Inc. All rights reserved.