Alternative zu String.equals(null) gesucht

Kafkalasch

Grünschnabel
Hab folgendes Problem und extra ein kleines Testprogramm geschrieben, um zu verdeutlichen was ich meine^^

Seht es euch erst mal an:

Code:
class testKlein
{
    String str;
    
    testKlein(String txt)
    {
        str = txt;
    }
}

class testGroß
{
    private testKlein tst1;
    private testKlein tst2;
    
    testGroß(testKlein eins)
    {
        tst1 = eins;
        tst2 = null;
    }
    
    testGroß(testKlein eins, testKlein zwei)
    {
        tst1 = eins;
        tst2 = zwei;
    }
    
    public void ausgeben()
    {
        System.out.println("tst1 vohanden");
        if (!tst2.equals(null))
            System.out.println("tst2 vorhanden");
        else
            System.out.println("tst2 nicht vorhanden");
    }
    
}

public class tester {
public static void main(String [] args){
 
    testKlein one = new testKlein("EIN TEST");
    testKlein two = new testKlein("NOCH EIN TEST");
    
    testGroß un = new testGroß(one);
    testGroß deux = new testGroß(one, two);
    
    deux.ausgeben();
    un.ausgeben();
}
}


Also mein Problem ist:

"deux.ausgeben();" funktioniert zwar wunderbar, aber "un.ausgeben();" nicht mehr da bekomm eine Fehlermeldung mit einer java.lang.NullPointerException
Wie muss ich denn die ausgeben-methode umschreiben, sodass es trotzdem funktioniert, wie ich es will? Ich glaub der Testcode erklärt so ziemlich, wie ich es haben will, hoffe ihr könnt mir helfen!
 
Versuche es mal per "!=". equals prüft ja den Inhalt des Strings, und die Vergleichsoperatoren den Typ des Objektes oder so.
Also so:

Code:
if (tst2 != null)
	System.out.println("tst2 vorhanden");
else
	System.out.println("tst2 nicht vorhanden");

Schließlich kann er kaum den Inhalt eines Objektes auslesen/vergleichen, wenn keine Instanz des Objektes initialisiert ist.
 
Zuletzt bearbeitet:
Zurück