6.2 + effort

generic-observer
Selebrator 7 years ago
parent 770755e842
commit a592d09231

@ -0,0 +1,18 @@
try {
// ...
} catch(GenericException<Integer> e) {
// ...
} catch(GenericException<Double> e) {
// ...
}
Wegen type erasure haben beide catch handler zur Laufzeit die gleiche Signatur.
try {
throw new GenericException<Number>();
} catch(GenericException<Integer> e) {
// ...
}
Generics sind invariant, d.h ein Objekt vom Typ GenericException<Number> kann keiner
Objektvariable vom Typ GenericException<Integer> zugewiesen werden.

@ -1,17 +0,0 @@
try {
// ...
} catch (GenericException <Integer > e) {
// ...
} catch (GenericException <Double > e) {
// ...
}
Das funktioniert nicht zur Laufzeit, da Aufgrund von Type Erasure
wir zwei gleiche catch hätten.
try {
throw new GenericException <Number >();
} catch (GenericException <Integer > e) {
// ...
}
Auch hier funktioniert das nicht zur Laufzeit aufgrund von Tyüpe Erasure.
Loading…
Cancel
Save