Nei seis moannen fan Γ»ntwikkeling, Oracle frijlitten perron JavaSE 15 (Java Platform, Standard Edition 15), it iepen-boarne OpenJDK-projekt wurdt brΓ»kt as referinsjeimplementaasje. Java SE 15 behΓ’ldt efterΓΊtkompatibiliteit mei eardere releases fan it Java-platfoarm; alle earder skreaune Java-projekten sille sΓ»nder feroaringen wurkje as se wurde lansearre Γ»nder de nije ferzje. Ready-to-install Java SE 15 builds (JDK, JRE en Server JRE) taret foar Linux (x86_64), Windows en macOS. Referinsje-ymplemintaasje Γ»ntwikkele troch it OpenJDK-projekt Java 15 is folslein iepen boarne Γ»nder de GPLv2-lisinsje, mei GNU ClassPath-ΓΊtsΓ»nderings wΓͺrtroch dynamyske keppeling mei kommersjele produkten mooglik is.
Java SE 15 is klassifisearre as in algemiene stipe-release en sil updates trochgean oant de folgjende release. De branch fan Long Term Support (LTS) soe Java SE 11 wΓͺze moatte, dy't oant 2026 updates sil trochgean. De foarige LTS-tΓ»ke fan Java 8 sil oant desimber 2020 wurde stipe. De folgjende LTS-release is pland foar septimber 2021. Lit ΓΊs jo herinnerje dat te begjinnen mei de frijlitting fan Java 10, it projekt oerstapt nei in nij Γ»ntwikkelingsproses, wat in koartere syklus betsjuttet foar de foarming fan nije releases. Nije funksjonaliteit is no Γ»ntwikkele yn ien konstant bywurke mastertΓ»ke, dy't klear makke wizigingen omfettet en wΓͺrfan tΓ»ken elke seis moanne fertakke wurde om nije releases te stabilisearjen.
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π²ΡΠΎΡΠ°Ρ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ patroan matching yn 'e "instanceof" operator, wΓͺrtroch jo fuortendaliks in lokale fariabele kinne definiearje om tagong te krijen ta de kontrolearre wearde. Jo kinne bygelyks fuortendaliks skriuwe "if (obj instanceof String s && s.length() > 5) {.. s.contains(..) ..}" sΓ»nder eksplisyt te definiearjen "String s = (String) obj".
wie:
if (obj instanceof Group) {
Group group = (Group)obj;
var entries = group.getEntries();
}
No kinne jo dwaan sΓ»nder de definysje "Groep groep = (Groep) obj":
if (obj instanceof Group group) {
var entries = group.getEntries();
}
Suggested Π²ΡΠΎΡΠ°Ρ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° Β«opnimme", dy't in kompakte foarm leveret foar it definiearjen fan klassen, wΓͺrtroch jo kinne foarkomme dat jo ferskate metoaden op leech nivo eksplisyt definiearje, lykas equals(), hashCode() en toString() yn gefallen dΓͺr't gegevens allinich opslein wurde yn fjilden wΓͺrfan it gedrach net feroaret. As in klasse standert ymplemintaasjes brΓ»kt fan 'e metoaden equals (), hashCode () en toString (), kin it dwaan sΓ»nder har eksplisite definysje:
iepenbiere record BankTransaction (LocalDate date,
dΓ»bele bedrach
String beskriuwing) {}
Dizze deklaraasje sil automatysk ymplemintaasjes tafoegje fan 'e metoaden equals (), hashCode () en toString () neist de konstruktor- en getter-metoaden.