2017-04-21 5 views
1

Ist es möglich, eine List Speicherelemente zu erstellen, die Objekte der Klasse eines anderen Objekts sind? Was ich meine ist: ist es möglich, so etwas zu machen, aber mit erfolgreicher Kompilierung?Objektklasse anstelle des generischen Typs platzieren

private SomeRow row = getRow(); // method getRow returns 
           // different classes, which extends SomeRow 

List<row.class> rows; // how is it possible to make something like that? 

Das Problem ist, dass in Selenium WebDriver, die ich verwende, ist es unmöglich Platzhalter zu verwenden, so ist es verboten, wie diese List<? extends SomeRow> zu tun.

Hat jemand einige Ideen, wie man das macht? Oder sag mir bitte, ob es überhaupt möglich ist.

+0

Er Subklassen auch will; 'List ' ist restriktiver als 'List '. –

+0

'row.class' gibt Ihnen keinen Typ, sondern eine statische Instanz, die die Klasse darstellt. Sie können also keine 'List >' definieren, um eine Instanz von 'T' hinzuzufügen. – AxelH

Antwort

0

Hmm, nicht sicher, ob dies Ihre Frage beantworten, wie etwa

List <Object> rows; 

dann könnte man später entsprechende Klasse wirft in bei Verwendung, wahrscheinlich instanceOf das Element Überprüfung

Verwandte Themen