ホームページ  >  記事  >  Java  >  Java 9 における MethodHandles クラスの重要性は何ですか?

Java 9 における MethodHandles クラスの重要性は何ですか?

WBOY
WBOY転載
2023-08-25 17:21:091138ブラウズ

在Java 9中,MethodHandles类的重要性是什么?

MethodHandles クラスは Java 7 バージョンで導入されました。このクラスは主に、機能を向上させるためにいくつかの 静的メソッド を追加し、メソッドやフィールドにアクセスするためのメソッド ハンドルを作成するために使用される Find メソッド 結合メソッドなど、いくつかのカテゴリに分類されています。 既存のメソッド ハンドルを新しいメソッド ハンドルに結合または変換し、ファクトリ メソッド を使用して、他の一般的な JVM 操作または制御フロー パターンをシミュレートするメソッド ハンドルを作成します。 Java 9 では、 MethodHandles クラスが強化され、多くの変更が導入され、 arrayLength()arrayConstructor() などの新しい静的メソッドが追加されました。 ゼロ()など

文法

<strong>public class MethodHandles extends Object</strong>

Example

の中国語訳は次のとおりです:

Example

import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;

public class MethodHandlesTest {
   public void MethodHandle1() {
      try {
         <strong>MethodHandle </strong>methodHandleLength = <strong>MethodHandles</strong>.<strong>arrayLength</strong>(int[].class);
         int[] array = new int[] {5, 10, 15, 20};
         int arrayLength = (int) methodHandleLength.<strong>invoke</strong>(array);
         System.out.println("Length of Array using Method Handle is: " + arrayLength);

         <strong>MethodHandle </strong>methodHandleConstructor = <strong>MethodHandles.arrayConstructor</strong>(int[].class);
         int[] newArray = (int[]) methodHandleConstructor.<strong>invoke</strong>(3);
         System.out.println("Array Constructed using Method Handle of Size: " + newArray.length);

         int x = (int) <strong>MethodHandles.zero</strong>(int.class).<strong>invoke()</strong>;
         System.out.println("Default Value of Primitive Integer using Method Handles is: " + x);
         String y = (String) <strong>MethodHandles.zero</strong>(String.class).<strong>invoke()</strong>;
         System.out.println("Default Value of String using Method Handles is: " + y);
      } catch(Throwable e) {
         e.printStackTrace();
      }
   }
   public static void main(String args[]) {
      new MethodHandlesTest().MethodHandle1();
   }
}

出力

<strong>Length of Array using Method Handle is: 4
Array Constructed using Method Handle of Size: 3
Default Value of Primitive Integer using Method Handles is: 0
Default Value of String using Method Handles is: null</strong>

以上がJava 9 における MethodHandles クラスの重要性は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。