ホームページ > Java > &#&チュートリアル > Java ジェネリックスの使用方法

Java ジェネリックスの使用方法

尊渡假赌尊渡假赌尊渡假赌
リリース: 2024-01-26 15:05:25
オリジナル
751 人が閲覧しました

Java ジェネリックには主に、「ジェネリック クラスの定義」、「ジェネリック インターフェイスの定義」、「ジェネリック メソッドの定義」、「ジェネリック クラスまたはインターフェイスのインスタンス化」、「ワイルドカードの使用」、および「ジェネリックの使用」が含まれます。型修飾": 1. ジェネリック クラスを定義し、 を使用して型パラメータを表します。 2. ジェネリック インターフェイスを定義し、 を使用して型パラメータを表します。 3. ジェネリック メソッドを定義し、 を使用します。型パラメータを表すため; 4. ジェネリック クラスまたはインターフェイスをインスタンス化するときは、特定の型パラメータを指定します; 5. ワイルドカードを使用して、特定のジェネリック型のサブタイプまたはスーパータイプを表します。

Java ジェネリックスの使用方法

Java ジェネリックは主に次の方法で使用されます。

  1. ジェネリック クラスを定義する

ジェネリック クラスを定義できます。型パラメータを示すには を使用します。例:

public class MyList<T> {
    private T[] array;

    public MyList(T[] array) {
        this.array = array;
    }

    public T get(int index) {
        return array[index];
    }
}
ログイン後にコピー
  1. ジェネリック インターフェイスの定義

ジェネリック インターフェイスを定義できます。 で型パラメータを表します。例:

public interface MyInterface<T> {
    T doSomething();
}
ログイン後にコピー
  1. ジェネリック メソッドの定義

ジェネリック メソッドを定義できます。型を表すには を使用します。パラメータ 、例:

public <T> T doSomething(T param) {
    // ...
}
ログイン後にコピー
  1. ジェネリック クラスまたはインターフェイスのインスタンス化

ジェネリック クラスまたはインターフェイスをインスタンス化するときは、次のような特定の型パラメーターを指定する必要があります。

MyList<String> list = new MyList<>(new String[]{"a", "b", "c"});
ログイン後にコピー
  1. ワイルドカードの使用

ワイルドカードを使用して、?、? extends T、? super T など、特定のジェネリック型のサブタイプまたはスーパータイプを表すことができます。例:

MyList<? extends Number> list1 = new MyList<>(new Integer[]{1, 2, 3});
MyList<? super Integer> list2 = new MyList<>(new Number[]{1.0, 2.0, 3.0});
ログイン後にコピー

このうち、list1 は Number のサブタイプである任意の型 (Integer、Float など) を要素として受け入れることができ、list2 は Integer のスーパータイプである任意の型 (Number など) を受け入れることができます。 、オブジェクトなど)を要素として使用します。

  1. 汎用修飾の使用

汎用修飾を使用して、extends や super を含む型パラメータの範囲を制限できます。例:

public <T extends Number> void doSomething(T param) {
    // ...
}
ログイン後にコピー

Among は、型パラメータ T が Number のサブタイプである必要があることを示します。

以上がJava ジェネリックスの使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート