Gibt es eine Laufzeit Kosten für Casting in Java?

Würde es sich performance-Unterschiede zwischen diesen beiden Blöcken?

public void doSomething(Supertype input)
{
    Subtype foo = (Subtype)input;
    foo.methodA();
    foo.methodB();
}

vs.

public void doSomething(Supertype input)
{
    ((Subtype)input).methodA();
    ((Subtype)input).methodB();
}

Anderen überlegungen oder Empfehlungen zwischen diesen beiden?

  • In der Realität dieser situation würden Sie nur erklären, sondern auch das argument zu sein Subtype, aber das macht Sinn, zum Beispiel Zwecke 🙂
  • Ja.. davon aus, dass es mehr in diese Methode, die gewährleistet, dass wir die Arbeit mit dem Subtyp durch diesen Punkt. 🙂
InformationsquelleAutor Ipsquiggle | 2010-01-29
Schreibe einen Kommentar