Dez 05

Heute wollen wir uns mal die Übergabe von List ohne jegliche Einschränkungen anschauen:

public static void checkStatus_list (List <?> a){ … }
oder
public static void checkStatus_list (List<Object> a){ … }

Auf den ersten Blick sieht es aus, als wären beide Methoden gleich, aber es gibt Unterschiede:

Bei der Übernahme von  <?> ist die Funktion add(Object) ausgeschaltet; ein CompilerFehler wird ausgeben. Hintergrund ist einfach, dass Probleme bei verschiedenen Objekttypen, bzw. deren späterer Weiterbehandlung vermieden werden soll.

Bei der Übernahme von (List<Object> a) kann auch nur der Typ List <Object> übergeben werden, und keine Subklassen. Somit ist für unser Beispiel (List mit Objekten vom Typ Buchhalter, Verkäufer und Angestellter) diese Methode nicht brauchbar.

  • Print
  • del.icio.us
  • Facebook
  • Twitter
  • Google Bookmarks
  • Add to favorites
  • RSS
  • Blogosphere
  • email
  • PDF
  • Wikio
  • Technorati
  • Digg
  • DZone

Leave a Reply

preload preload preload
http://www.wikio.de Blog Top Liste - by TopBlogs.de Blogverzeichnis - Blog Verzeichnis bloggerei.de Bloggeramt.de Software
Webbhotell Top Blogs