Varianz in Java [] (Varianz in Java), Lektion, Seite 722831
https://www.purl.org/stefan_ram/pub/varianz_java (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Java-Kurs

Reihungserzeugung und -varianz in Java

Kovarianz

Number ist Untertyp von Object ⇒
Number[] ist Untertyp von Object[]

Kontravarianz

Number ist Untertyp von Object ⇒
Object[] ist Untertyp von Number[]

Invarianz

Number ist Untertyp von Object

Welche der drei Festlegungen wäre sinnvoll?

Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ final java.lang.Object[] a = new java.lang.Number[ 1 ];
a[ 0 ]= java.lang.Integer.valueOf( 0 );
a[ 0 ]= "alpha"; }}
transcript
Exception in thread "main" java.lang.ArrayStoreException: java.lang.String
at Main.main(Main.java:5)

Die folgende universelle Ausgabemethode für Reihungen wäre ohne Kovarianz nicht möglich gewesen.

Beispiel
  public static void print( final java.lang.Object[] array )
{ java.lang.System.out.println( java.util.Arrays.toString( array )); }

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram722831 stefan_ram:722831 Varianz in Java Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd722831, slrprddef722831, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/varianz_java