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

ダイヤモンド演算子は、Java 9の匿名内部クラスで使用できますか?


はい、 Java 9 以降、匿名の内部クラスでダイヤモンド演算子を使用できます。 。

ダイヤモンド演算子を使用する目的は、冗長を回避することです。 コード 一般的なを使用しないことで読みやすくします タイプ 式の右側にあります。 ダイヤモンドオペレーター 通常にのみ使用されます クラス ただし、匿名は対象外です 内側 クラス Java 7で。匿名の内部クラスに使用しようとすると、コンパイラがエラーをスローします

以下の例では、匿名の内部クラスを持つダイヤモンド演算子を使用しています。

import java.util.*;
public class DiamondOperatorTest {
   public static void main(String args[]) {
      String[] str = {"Raja", "Adithya", "Jai", "Chaitanya", "Vamsi"};
      Iterator<String> itr = new Iterator<String>() {      // Anonymous inner class
         int i = 0;
         public boolean hasNext() {
            return i < str.length;
         }
         public String next() {
            if(!hasNext()) {
               throw new NoSuchElementException();
            }
            return str[i++];
         }
      };
      while(itr.hasNext()) {
         System.out.println(itr.next());
      }
   }
}

出力

Raja
Adithya
Jai
Chaitanya
Vamsi

  1. 列挙型はJavaの任意のクラスを拡張できますか?

    Javaの列挙(enum)は、定数値のセットを格納するデータ型です。列挙型を使用して、1週間の日数、1年の月数などの固定値を格納できます。 キーワードenumの後に列挙型の名前を-として使用して、列挙型を定義できます。 enum Days {    SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY } 配列と同様に、列挙型の要素/定数は、上記の例では0から始まる番号を使用して識別されます。日は、次の図に示すように番号を使用して識別されます- 列挙型はクラスに似ており、変数、メソッド、コン

  2. JavaでJTextFieldにパディングを追加するにはどうすればよいですか?

    JTextField JTextComponentのサブクラスです クラスであり、ユーザーが単一行形式でテキスト値を入力できるようにする最も重要なコンポーネントの1つです。 。 JTextFieldクラスは、 ActionListenerを生成します 内部に入力を入力しようとしたときのインターフェイス。 JTextFieldクラスの重要なメソッドは、 setText()、getText()、setBorder()、setEnabled()、です。 など setMargin(Insets s)を使用して、JTextFieldにパディングを追加できます JTextComponent ク