Viselkedésváltozás a dinamikus proxy osztályok összeállításában

A Java SE 8 könyvtárban java.lang.reflect.Proxy(InvocationHandler) A konstruktor NullPointerkivételt , ha a InvocationHandler paraméter nullértékű. A Java korábbi változataiban a konstruktor egy proxy objektumot adott vissza, azonban a proxy használatakor egy NullPointerException kivételt dobott.

A Java 8 bevezetett egy hasonló viselkedésváltozást a Constructor.newInstance(InvocationHandler) esetén. A Java 8 változatban, amikor az InvocationHandler null, akkor a newInstance metódus egy InvocationTargetException kivételt dob egy használhatatlan proxy objektum visszaadása helyett.

Ez a szabály megjelöli a java.lang.reflect.Proxy(InvocationHandler) és a Constructor.newInstance(InvocationHandler) konstruktorok meghívásait. Tekintse át a megjelölt kódot, és biztosítsa, hogy a kezelő soha nem null, vagy módosítsa a kódot, hogy a newProxyInstance gyártó metódust használja, amely egyaránt NullPointerException kivételt dob a Java 7 és 8 változatban.

A java.lang.reflect.Proxy(InvocationHandler) osztállyal kapcsolatos további információkért tekintse meg a java.lang.reflect.Proxy osztály Java dokumentációját.