Der wichtigste Teil des Upgrades besteht IMHO darin, sicherzustellen, dass die Entwickler, die daran arbeiten, ein solides Verständnis von Generics haben, insbesondere im Hinblick auf die Übergabe von Collections in Funktionen und deren Rückgabe aus Funktionen, da List<Animal> <> List<Tiger>
, usw. Sie sollten immer in der Lage sein, Generika einzufügen, auch wenn Sie die generischen Platzhalter Object oder ? verwenden.
Eine weitere Voraussetzung für eine reibungslose Konvertierung ist, dass Sie Sammlungen haben, die einen einzigen Typ enthalten, und dass es keine gemischten Objekte gibt, die die ? oder Object-'catch-alls' erzwingen. Dies kann ziemlich häufig sein, vor allem mit Maps.
Wenn Sie zugrundeliegende Bibliotheken, Hibernate usw. verwenden, können Sie dort auf Einschränkungen stoßen, wenn die zugrundeliegende Bibliothek keine Generika unterstützt. In diesem Fall müssen Sie entweder den Bibliothekscode durchsickern lassen oder die Objekte umhüllen (nicht empfohlen).
Ändern Sie die Teile, die sinnvoll sind, und belassen Sie die Teile, die nicht sinnvoll sind, und gehen Sie schrittweise vor, so dass Sie jederzeit einen Teil zurücknehmen können, wenn Sie auf ein Problem stoßen.