Java
 Computer >> コンピューター >  >> プログラミング >> Java

Java 9でVarHandleのインスタンスを作成するにはどうすればよいですか?


一般的に、可変ハンドル 変数への単純に型指定された参照です。 配列になります 要素、インスタンス または静的 フィールド クラスの。 VarHandle クラスは、特定の条件下で変数への書き込みおよび読み取りアクセスを提供できます。これらは不変です 目に見える状態はありません。さらに、それらをサブ分類することはできず、各 VarHandle ジェネリック型 T 、これは、この VarHandleで表される各変数のタイプです。 。 VarHandleの目的 java.util.concurrent.atomicに相当するものを呼び出すための標準を定義することです およびsun.misc.Unsafe フィールドと配列要素の操作。

以下の例では、 MethodHandle.lookup()を使用できます。 VarHandleを作成するメソッド インスタンス。

import java.lang.invoke.VarHandle;
import java.lang.invoke.MethodHandles;

public class VarHandleInstanceTest {
   public static void main(String args[]) {
      try {
         VarHandle fieldHandle = MethodHandles.lookup().in(Student.class).findVarHandle(Student.class, "studentId", int.class);
         System.out.println("VarHandle instance created successfully!!!");
      } catch (NoSuchFieldException | IllegalAccessException e) {
         e.printStackTrace();
      }
   }
}

// Stundent class
class Student {
   protected int studentId;
   private String[] marks;
   public Student() {
      studentId = 0 ;
      marks = new String[] {"75" , "85" , "95"} ;
   }
}

出力

VarHandle instance created successfully!!!

  1. JavaでJTableをフィルタリングするにはどうすればよいですか?

    JTable テーブルを作成および表示するための非常に柔軟な可能性を提供します。 TableModel インターフェイスは、テーブルの内容を指定するオブジェクトのメソッドを定義します。 AbstractTableModel クラスは通常、モデルテーブルのカスタム実装を提供するために拡張されます。 JTableクラスは、メソッド setCellEditor()を使用してテーブルを編集する機能を提供します。 TableCellEditorのオブジェクトを許可します インターフェイス。 フィルタリングできます setRowFilter()を使用したテーブル TableRowSort

  2. Javaでログインフォームを作成するにはどうすればよいですか?

    Javaを使用してJavaでログインフォームを開発できます スイング テクノロジー。この例では、2つのラベルユーザー名を作成できます。 およびパスワード 、ユーザーが入力する2つのテキストフィールド有効 クレデンシャル 最後に1つの送信ボタン。ユーザーが2つのテキストフィールドに有効なクレデンシャルを入力できるようになると、こんにちはが表示されます。 管理者 ログインフォームで。 例 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class LoginDemo extends JFrame im