Generischen Typ für die gleiche Funktionalität verwenden

8

Ich habe ein Szenario, in dem zwei Funktionen identisch sind, aber das Klassenobjekt, das in den beiden verwendet wird, unterscheidet sich ähnlich,

%Vor%

Und ähnlich andere Funktion wie,

%Vor%

Wie kann ich die generische Klasse für das Masterobjekt im obigen Objekt verwenden? Ich habe noch keine Generika verwendet.

    
AJN 01.11.2017, 12:15
quelle

3 Antworten

6

Wenn Ihre Methode mit einer Eigenschaft der Klasse inputObject arbeiten soll, können Sie eine funktionale Schnittstelle übergeben, die die erforderliche Eigenschaft einer gegebenen inputObject -Instanz zurückgibt:

%Vor%

Jetzt können Sie diese Methode mit

aufrufen %Vor%

oder

%Vor%     
Eran 01.11.2017, 12:29
quelle
0

Sie könnten Ihre Methode einfach wie folgt neu definieren:

%Vor%     
Eugene 01.11.2017 12:26
quelle
0

Ändern Sie zuerst inputObject . Schreibmethoden input.getMaster (Objektobjekt) input.setMaster (Objektobjekt), das generische Objekte setzt und abruft. Das können Sie LeadMaster und DealMaster auf beide generisch setzen.

Schreiben Sie eine abstrakte Klasse oder verwenden Sie eine Superklasse, die sich auf beide Klassen erstreckt, die function1 und function2 hat. Innerhalb dieser abstrakten oder übergeordneten Klasse verwenden Sie die generische Methode, die Sie in inputObject

definiert haben %Vor%     
BRjava 01.11.2017 12:43
quelle

Tags und Links