2016-04-22 7 views
0

Ich frage mich, warum wir das Zeichen == beim Vergleichen einer Schaltfläche mit der Quelle in der Methode actionPerformed verwenden?source == Schaltfläche in Java

public void actionPerformed(ActionEvent e) { 
    Object source = e.getSource(); 

    if(source == button) 


} 

normalerweise in Java verwenden wir .equals() zwei Objekte zu vergleichen, aber in diesem Fall sind wir == stattdessen verwenden.

Warum?

+1

Vielleicht ist ein besserer Weg, um es zu erreichen, einen eindeutigen "ActionListener" für jede Schaltfläche zu haben. – Zymus

Antwort

3

Da Sie überprüfen, ob es tatsächlich von diese spezifische Instanz von Button kam.

Sie können möglicherweise gleich verwenden (Implementierungen oft zuerst obj == this überprüfen), aber == ist für den Anwendungsfall geeignet, und ist schneller.