Szukaj…


Wprowadzenie

W tym temacie znajduje się podsumowanie nowych funkcji dodanych do języka programowania Java w Java SE 8. Istnieje wiele innych nowych funkcji w innych dziedzinach, takich jak JDBC i Java Virtual Machine (JVM), które nie będą omówione w tym temacie.

Uwagi

Odniesienia: Ulepszenia w Java SE 8

Nowe funkcje języka programowania Java SE 8

  • W tym wydaniu wprowadzono nową funkcję języka Lambda Expressions . Pozwalają traktować funkcjonalność jako argument metody lub kod jako dane. Wyrażenia lambda umożliwiają bardziej kompaktowe wyrażanie instancji interfejsów jednoprocesowych (zwanych interfejsami funkcjonalnymi).
  • Ulepszone wnioskowanie o typach - kompilator Java korzysta z typowania docelowego, aby wywnioskować parametry typu wywołania metody ogólnej. Typem docelowym wyrażenia jest typ danych, którego oczekuje kompilator Java, w zależności od tego, gdzie pojawia się wyrażenie. Na przykład można użyć typu docelowego instrukcji przypisania do wnioskowania o typ w Java SE 7. Jednak w Java SE 8 można użyć typu docelowego do wnioskowania o typ w większej liczbie kontekstów.
  • Powtarzające się adnotacje umożliwiają stosowanie tego samego typu adnotacji więcej niż jeden raz do tej samej deklaracji lub użycia typu.
  • Adnotacje typu umożliwiają stosowanie adnotacji w dowolnym miejscu typu, nie tylko w deklaracji. Używana z systemem wtykowym typu, ta funkcja umożliwia ulepszone sprawdzanie typu kodu.
  • Odbicie parametrów metody - można uzyskać nazwy parametrów formalnych dowolnej metody lub konstruktora za pomocą metody java.lang.reflect.Executable.getParameters . (Klasy Method i Constructor rozszerzają klasę Executable i dlatego dziedziczą metodę Executable.getParameters ) Jednak pliki .class domyślnie nie przechowują formalnych nazw parametrów. Aby zapisać nazwy parametrów formalnych w danym .class pliku, a tym samym umożliwić Reflection API do pobierania nazwy parametrów formalnych, skompilować plik źródłowy z -parameters opcją kompilatora javac.
  • Date-time-api - Dodano nowy interfejs API czasu w java.time . Jeśli zostanie użyty, nie musisz wyznaczać strefy czasowej.


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow