Velike promjene:
- JChar je podržan kao vrsta povrata. Radi kompatibilnosti, JChar nasljeđuje od "str" i implementira implicitnu konverziju u "int". Stoga prolazi provjere u ugovorima. Ali to znači da se više ne smatra numeričkim tipom u Pythonu i stoga isinstance(c, int) daje vrijednost False, što je u skladu s pravilima pretvorbe Java tipa.
- Uveden je operator za pretvaranje Java tipa, Type@obj (@ je Python operator za unutarnji proizvod; Java ga nema).
- Dodana notacija za stvaranje Java nizova. Upišite [s1][s2][s3] za nizove fiksne veličine, Upišite [:][:][:] za nizove koji će se kasnije izraditi.
- @FunctionalInterface vam omogućuje stvaranje Java funktora iz Python objekata pomoću __call__.
- Uklonjen zastarjeli JIterator, korištenje JExceptiona kao tvornice, get_default_jvm_path i jpype.reflect.
- Prema zadanim postavkama, Java nizovi se ne pretvaraju u Python nizove.
- Python je zastario "__int__", tako da će implicitna pretvaranja između cijelih brojeva i tipova s pomičnim zarezom proizvesti TypeError.
- Upotreba JException je zastarjela. Da biste uhvatili sve iznimke ili provjerili je li objekt vrsta Java iznimke, koristite java.lang.Throwable.
- Kaskadni uzroci Java iznimaka sada se odražavaju u okvirima snopa Pythona.
- JString je zastario. Za kreiranje Java niza ili za provjeru je li objekt tipa Java niz, koristite java.lang.String.
- Repr metode su ažurirane u Java klasama.
- java.util.List izvršava ugovore za collections.abc.Sequence i collections.abc.MutableSequence.
- java.util.Collection izvršava ugovor za collections.abc.Collection.
- Java klase su privatne i izbacit će TypeError kada se produže iz Pythona.
- Pažljivo rukujte Control-C. Prethodne verzije se ruše kada Java obradi Control-C signal jer će prekinuti Javu tijekom poziva. JPype će sada izbaciti InterruptedException kada se vraća s Jave. Control-C neće izbaciti velike Java procedure koje su trenutno implementirane, budući da Java nema poseban alat za to.
Zatim je stvoreno korektivno izdanje 1.0.1, koje je dodalo promjene za rješavanje problema s izdanjem Python 3.8.4. Python je promijenio logiku u vezi s upotrebom "__setattr__" za "objekt" i "tip", sprječavajući njegovu upotrebu za modificiranje izvedenih klasa. Provjera pogrešaka također je delegirana iz metode "__setattr__", tako da bi se vrste iznimaka u nekim provjerama adekvatnosti trebale ažurirati u skladu s tim.
Izvor: opennet.ru