サーチ…


前書き

このトピックでは、Java SE 8のJavaプログラミング言語に追加された新機能の概要を紹介します.JDBCやJava Virtual Machine(JVM)など、他の分野には多くの新機能がありますこのトピックでは

備考

リファレンス: Java SE 8の拡張機能

新しいJava SE 8プログラミング言語機能

  • 今回のリリースでは、新しい言語機能であるLambda Expressionsが導入されました。それらを使用すると、機能をメソッドの引数として扱うことや、コードをデータとして扱うことができます。ラムダ式を使用すると、単一メソッドのインタフェース(関数インタフェースと呼ばれます)のインスタンスをよりコンパクトに表現できます。
    • メソッド参照は、既に名前を持つメソッドの読みやすいラムダ式を提供します。
    • デフォルトのメソッドでは、ライブラリのインターフェイスに新しい機能を追加し、これらのインターフェイスの古いバージョン用に書かれたコードとのバイナリ互換性を保証します。
    • Java SE 8のラムダ式とストリームを利用した新しく拡張されたAPIでは、ラムダ式とストリームを利用する新しく強化されたクラスが記述されています。
  • 改良された型推論 - Javaコンパイラは、ターゲット型を利用してジェネリックメソッド呼び出しの型パラメータを推測します。式のターゲット・タイプは、Javaコンパイラーが式の出現場所に応じて予期するデータ・タイプです。たとえば、Java SE 7では、型推論に代入文のターゲット型を使用できます。ただし、Java SE 8では、より多くのコンテキストで型推論にターゲット型を使用できます。
  • 反復アノテーションは、同じアノテーションタイプを同じ宣言またはタイプ使用に複数回適用する機能を提供します。
  • 型注釈は、宣言だけでなく、型が使用されている場所で注釈を適用する機能を提供します。プラガブルタイプのシステムで使用されるこの機能により、コードの型チェックが改善されます。
  • メソッドのパラメータの反映 - メソッドjava.lang.reflect.Executable.getParametersして、任意のメソッドまたはコンストラクタの仮パラメータの名前を取得できjava.lang.reflect.Executable.getParameters 。 (クラスのメソッドとコンストラクタは、クラス実行を拡張し、そのための方法の継承Executable.getParameters )しかし、 .classファイルは、デフォルトでは、正式なパラメータ名を格納しないでください。特定の.classファイルに仮パラメータ名を格納し、Reflection APIで仮パラメータ名を取得できるようにするには、javacコンパイラの-parametersオプションを使用してソースファイルをコンパイルします。
  • Date-time-api - java.time新しい時刻apiを追加しました。これを使用すると、タイムゾーンを指定する必要はありません。


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow