ジェネリックメソッドの型パラメータを指定するにはどうすればよいですか?

PHPz
リリース: 2024-05-03 11:54:02
オリジナル
717 人が閲覧しました

汎用メソッドは、型パラメーターを使用して、操作できるデータ型を指定します。型パラメーターの構文は、型を明示的に指定するか、次のようなワイルドカードを使用して指定できます。 T (上限) と ? super T (下限) を拡張します。ワイルドカードは型パラメータのスコープを指定します。たとえば、? extends T は、型パラメータが型 T またはそのサブクラスである必要があることを意味します。

ジェネリックメソッドの型パラメータを指定するにはどうすればよいですか?

ジェネリック メソッドの型パラメーターの仕様

Java では、開発者はジェネリック メソッドを使用して、複数の型で使用できるメソッドを作成できます。操作の。ジェネリック メソッドを定義するときは、型パラメーターを指定する必要があります。型パラメータは、メソッドが操作できるデータの型を決定します。

型パラメータの構文

型パラメータは山かっこ 内で指定します。

<T> void myMethod(T value) {
    // 代码主体
}
ログイン後にコピー

この例では、< ; は型パラメータで、メソッドが任意の型のオブジェクトを操作できることを示します。

型パラメータの指定

型パラメータは、型を明示的に指定することで指定できます:

<String> void myMethod(String value) {
    // 操作 String 类型的数据
}
ログイン後にコピー

ワイルドカードを使用して型パラメータを指定することもできます:

  • ?: 無制限のワイルドカード。型パラメータが任意の型であることを示します。
  • ? T を拡張します: 上限ワイルドカード。型パラメーターが型 T またはそのサブクラスである必要があることを示します。
  • ? super T: 下限ワイルドカード。型パラメーターが型 T またはそのスーパークラスである必要があることを示します。

実際的なケース

さまざまなタイプのオブジェクトを含む List があるとします。リスト内の各要素を出力するメソッドを作成します。

import java.util.List;

public class Example {

    public static void main(String[] args) {
        List<Object> myList = List.of("Hello", 10, true);
        printElements(myList);
    }

    public static <T> void printElements(List<T> list) {
        for (T element : list) {
            System.out.println(element);
        }
    }
}
ログイン後にコピー

この例では、 printElements メソッドはジェネリックであり、型パラメーター T を受け取ります。したがって、リスト内のあらゆる種類のデータを印刷できます。

以上がジェネリックメソッドの型パラメータを指定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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