B
budili
Gast
Hallo Leute,
ich wollte folgenden Code schreiben:
[Java]
public abstract class TestClient<T>
{
public final boolean isUsing(final List<Object> items)
{
for (final Object object : items)
{
if (object instanceof T)
{
doYourJob();
}
}
return false;
}
}
[/Java]
Leider funktioniert der o.g. Code nicht. Der Compiler meckert mir folgende Zeile an:
mit folgender Fehlermeldung: Cannot perform instanceof check against type parameter T. Use instead its erasure Object instead since further generic type information will be erased at runtime.
Der Compiler meckert wahrscheinlich, weil T zur Laufzeit alles sein kann und er es wohl nicht prüfen kann. Mir ist nur nicht ganz klar, wie ich das lösen könnte.
Gibt es überhaupt eine Möglichkeit zur Laufzeit den generischen Typ zu prüfen?
Hat jemand einen Tipp?
Gruß
Tim
ich wollte folgenden Code schreiben:
[Java]
public abstract class TestClient<T>
{
public final boolean isUsing(final List<Object> items)
{
for (final Object object : items)
{
if (object instanceof T)
{
doYourJob();
}
}
return false;
}
}
[/Java]
Leider funktioniert der o.g. Code nicht. Der Compiler meckert mir folgende Zeile an:
Code:
if (object instanceof T)
Der Compiler meckert wahrscheinlich, weil T zur Laufzeit alles sein kann und er es wohl nicht prüfen kann. Mir ist nur nicht ganz klar, wie ich das lösen könnte.
Gibt es überhaupt eine Möglichkeit zur Laufzeit den generischen Typ zu prüfen?
Hat jemand einen Tipp?
Gruß
Tim
Zuletzt bearbeitet von einem Moderator: