Changeset 264 in Java_Quellcode_SOOP_Vorlesung
- Timestamp:
- Jan 9, 2017, 3:29:45 PM (8 years ago)
- Location:
- generics
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
generics/BoxMain.java
r263 r264 9 9 String s = (String) b.get(); 10 10 System.out.println(s); 11 11 /**/ 12 12 b.set(42); 13 13 int x = (Integer) b.get(); 14 14 System.out.println(x); 15 15 /**/ 16 16 Regal r = new Regal(); 17 17 r.leftBox = new Box("hallo"); … … 20 20 s = (String) r.leftBox.get(); 21 21 x = (Integer) r.rightBox.get(); 22 22 /**/ 23 23 StringBox sb = new StringBox(); 24 24 sb.set("Hallo StringBox"); 25 25 System.out.println(sb.get()); 26 26 /**/ 27 27 IntBox ib = new IntBox(); 28 28 // Warum funktioniert das Folgende? … … 34 34 ib.set(42); 35 35 // Die Ausgabe funktioniert, da die Methode Box.get() Object liefert und die 36 // toString()-Methode den korrekten int-Wert ausgibt (Autoboxing).36 // toString()-Methode den korrekten Integer-Wert ausgibt (Autoboxing). 37 37 System.out.println(ib.get()); 38 38 // Das funktioniert nicht mehr, weil die Typen nicht kompatibel sind … … 40 40 @SuppressWarnings("unused") 41 41 int y = 10; 42 /* 43 * Funktioniert nicht: int z = ib.get() + y; 44 */ 42 // 43 // Funktioniert nicht: int z = ib.get() + y; 44 // 45 /**/ 45 46 } 46 47 } -
generics/IntBox.java
r192 r264 7 7 // muss die Methode zum Auslesen des Boxinhalts einen anderen Namen 8 8 // erhalten. Wir wählen getInt(), jeder andere Name ist auch möglich. 9 /*Funktioniert nicht:10 public int get() {11 return ((Integer) super.get()).intValue();12 }13 */ 9 // Funktioniert nicht: 10 // public int get() { 11 // return ((Integer) super.get()).intValue(); 12 // } 13 14 14 public int getInt() { 15 15 return ((Integer) super.get()).intValue();
Note: See TracChangeset
for help on using the changeset viewer.