Groovy Typ-Konvertierung

In Groovy können Sie tun, überraschend Typ-Konvertierungen unter Verwendung entweder der as Betreiber oder die asType Methode. Beispiele sind

Short s = new Integer(6) as Short
List collection = new HashSet().asType(List)

Ich bin überrascht, dass ich konvertieren von einem Integer in einen Kurzen und aus einem Set, um eine Liste, weil es keine "ist ein" - Beziehung zwischen diesen beiden Typen, obwohl Sie einen gemeinsamen Vorfahren haben.

Beispielsweise der folgende code ist äquivalent zu Integer/Short Beispiel in Bezug auf die
Beziehung zwischen den Arten beteiligt bei der Umwandlung

class Parent {}
class Child1 extends Parent {}
class Child2 extends Parent {}

def c = new Child1() as Child2

Aber natürlich ist dieses Beispiel nicht. Was genau sind die Typ-Konvertierung Regeln hinter der as Betreiber und die asType Methode?

InformationsquelleAutor Dónal | 2009-08-14
Schreibe einen Kommentar