De beste nye funksjonene på programmeringsspråket Java: Grunner til å oppgradere fra Java 8

De beste programmeringsspråkene å lære i 2019: Topp kodingsevner som betaler deg mest Dette er språkene som er mest etterspurt og tilbyr høyest lønn.

Java 8 kan ha kommet ut i mars 2014, men utviklerne har ikke noe travelt med å flytte av den.

Spesiell rapport

Å ri DevOps-revolusjonen

Du kan laste ned alle artiklene i denne spesialrapporten i en PDF (gratis registrering kreves).

  • Les mer

Nesten 80% av Java-utviklerne bruker fortsatt Java 8, ifølge en rask meningsmåling på mer enn 1.300 devs av veteran Java-utvikleren og JetBrains-utviklerens talsmann Trisha Gee.

Med Java 12 ut på omtrent en ukes tid, øker utviklerne for å flytte til en nyere versjon av Java, spesielt med Oracle som avslutter offentlige oppdateringer for Java 8 for forretningsbrukere i januar i år.

På utviklerkonferansen QCon London 2019 skisserte Gee noen av de beste nye funksjonene som er lagt til språket siden Java 8 som kan overtale utviklere til å hoppe.

Dette er språkfunksjonene som Gee fremhevet som de mest lovende grunnene til å oppgradere til en nyere versjon av Java.

JShell

Når ble det introdusert? Java 9

Hva det gjør: JShell gir en kommandolinje der utviklere kan eksperimentere med å kjøre små utdrag av Java, og tilbyr en enkel måte å teste nye funksjoner, slik at utviklere kan lage variabler, definere metoder og lagre skript i en fil.

Var

Når ble det introdusert? Java 9

Hva det gjør: Var kutter ned unødvendig kode og øker lesbarheten ved å forhindre at utviklere gjentatte ganger må erklære en type innen kode.

Funksjonen kan være nyttig der utviklere ellers måtte erklære typen på begge sider av = operatoren, for eksempel når de bruker generiske:

ArrayList-folk = new ArrayList ();

kan skrives som:

var folk = ny ArrayList ();

Bekvemmelighetsfabrikkmetoder for samlinger

Når ble de introdusert? Java 9

Hva de gjør: Tillater utviklere å lage en virkelig umodifiserbare lister og sett, ved å bruke enklere syntaks.

Tidligere versjoner av Java pleide å kreve at utviklere erklærte Liste ved bruk av Arrays.asList ("element1", "element2"), som igjen måtte pakkes inn ved å bruke metoden Collections.unmodifiableList (), sier Gee.

Koden for å oppnå samme resultat er langt mer enkel fra Java 9 og utover, og det krever bare å ringe List.of () -metoden, for eksempel List.of ( "element1", "element2").

Tilsvarende oppretting av et sett pleide å være tungvint, men kan nå utføres ved å bruke Set.of () -metoden.

Å lage et kart er også enklere, og krever ikke lenger en statisk initialisering, men i stedet er det mulig å bruke et metodeanrop fra Map.ofEntries (), eller et metodeanrop for Map.of () hvis det er færre enn 10 oppføringer, som ganske enkelt krever tasting av nøkkel- verdi par.

"Det er litt mindre kjeleplate og litt mer lesbar, det er spesielt nyttig for ting som testkode, " sier Gee.

Nye metoder på API-en for strøm

Når ble de introdusert? Java 9

Hva de gjør: Det er to nye metoder, takeWhile (), som lar en utvikler spesifisere at dataene i en strøm skal behandles til en viss betingelse er oppfylt, og dropWhile (), som lar en utvikler spesifisere at dataene i en strøm skal ignoreres til en viss betingelse er oppfylt.

Hvis for eksempel en utvikler ønsket å behandle data til brukertellingen traff en viss terskel:

items.Stream ()

.takeWhile (user -> user.count () <maxCount)

.forEach (bruker -> posisjon.incrementAndGet ());

Samle i umodifiserbare lister fra strømmer

Når ble det introdusert? Java 10

Hva den gjør: Gir utviklere muligheten til automatisk å fylle ut umodifiserbare lister fra en strøm ved hjelp av enkel syntaks, for eksempel:

items.stream ()

.filter (Objekter :: nonNull)

.map (Object :: toString)

.Samle (Collectors.toUnmodifiableList ());

Jigsaw / Java-modulsystem

Når ble det introdusert? Java 9

Hva det gjør? Jigsaw er nyttig for Java-programvarebibliotekutviklere, slik at de kan innkapsle kode som ikke er ment å bli endret.

Gee sier at det også er bra for bedriftsutviklere som ønsker å skille bekymringene i applikasjonene sine ordentlig.

JLink

Når ble det introdusert? Java 9

Hva det gjør? JLink lar utviklere pakke sammen individuelle Java-moduler, bare Java-bitene deres applikasjonsbehov, til en liten distribuerbar driftstid.

Dette gir en metode for å distribuere mindre applikasjoner enn det som vil være tilfelle når du bruker et tradisjonelt Java Runtime-miljø, sier Gee, nyttig når du distribuerer programvare i skyen eller i containere.

Nye metoder på valgfritt

Når ble de introdusert? Java 9, 10, 11

Hva de gjør? Gee beskriver Valgfritt som en måte å sikre dine spill når du angir returtypen til en metode, ved å si denne metoden "kan returnere noe, det kan ikke" ved å stille det til å returnere en valgfri beholder.

Disse nye metodene "gjør bare Valgfri enklere å jobbe med, " la hun til.

For eksempel kan utviklere bruke metoden ifPresentOrElse () for å redusere koden som er nødvendig for å spesifisere handlingene som skal utføres om det er noe i den valgfrie containeren, for eksempel i tilfelle en valgfri container som heter anOptional :

anOptional.ifPresentOrElse (

s -> System.out.println (s),

() -> System.out.println ("Ingenting funnet")

);

I tillegg kan Valgfri eller () -metode brukes til å returnere alternative valgfrie verdier, orElseThrow () -metoden kan returnere et standard unntak hvis ikke verdi blir funnet, og metoden isEmpty () sjekker om den valgfrie beholderen er tom.

Innebygd HTTP-klient

Når ble det introdusert? Java 11

Hva det gjør? Java 11 kommer med en innebygd HTTP-klient, og fjerner behovet for ytterligere programvareavhengigheter, der klienten ikke blokkerer, støtter reaktive strømmer, så vel som HTTP / 1 og HTTP / 2.

Bytt uttrykk

Når blir det introdusert? Java 12

Hva det gjør? På grunn av lanseringen av Java 12 på omtrent en ukes tid, lar bytteuttrykk utviklere bruke enklere syntaks for å bytte uttalelser.

For eksempel, i stedet for hvert tilfelle i switch- setningen som bruker denne typen syntaks:

bryter (port) {

sak 20:

type = PortType.FTP;

gå i stykker;

}

hvert tilfelle kan i stedet uttrykkes på følgende måte:

Bryter (port) {

sak 20 -> PortType.FTP;

}

Executive Briefing Nyhetsbrev

Oppdag hemmelighetene for suksess med IT-ledelse med disse tipsene om prosjektledelse, budsjetter og håndtering av daglige utfordringer. Leveres tirsdager og torsdager

Registrer deg i dag

© Copyright 2021 | pepebotifarra.com