Introduction
Generic arrays, where the array elements share a common type parameter, present a unique challenge in Java due to the interplay between generics and arrays' covariant Behavior.
Frage
Können wir ein Array von Generika erstellen, in dem sich der generische Typ vergleichbar erweitert? Versuche, ein Objektarray in ein generisches Array zu geben, das vergleichbare Gesichtsprobleme erweitert und die folgende Frage aufwirft: Gibt es eine Workaround? Typen:
arrays:
covariante, was ihre Elementtypen zur Laufzeit behalten. Erweitern Sie eine bestimmte Klasse ist nicht möglich.array.Newinstance (): a Workaround
Eine potenzielle Lösung besteht darin, die Methode Array.Newinstance () zu verwenden:
Casting an Object array to a generic array can lead to type safety issues since arrays are covariant and generics use type erasure.
Portabilität und Wartbarkeit:verschiedene java virtuelle Maschinen (JVMS) können unterschiedlich umgehen, was das Verhalten weniger tragbar macht und schwieriger zu pflegen kann. Bietet eine effiziente und typesichere Methode, um Sammlungen generischer Objekte zu verwalten. Arraylisten bieten die Flexibilität von Generika und vermeiden die potenziellen Fallstricke, die mit Arrays und Generika verbunden sind.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3