Java の汎用メソッド

高洛峰
リリース: 2016-12-19 15:14:15
オリジナル
1928 人が閲覧しました

ここではジェネリックの意味については詳しく説明しません。Java でのジェネリック クラスの定義は比較的単純です (例: public class Test{})。このようにして、ジェネリック クラス Test が定義されます。クラスをインスタンス化するときは、次のようにジェネリック T の型を指定する必要があります。これは、その型を示します。一般的な T はオブジェクトです。

しかし、Java のジェネリック メソッドはより複雑です。ジェネリック クラスは、クラスをインスタンス化するときにジェネリックの特定の型を指定します。方法。语 ジェネリック メソッドと文法のジェネリック形式を次のように定義します。

ジェネリック メソッドと文法の形式を次のように呼び出します。

Java の汎用メソッド

説明するには、ジェネリック メソッドを定義するときに、 & lt; を追加する必要があります。 & gt; は、戻り値の前に来て、ジェネリック T を保持するジェネリック メソッドであると宣言し、ジェネリック T をメソッドの戻り値として使用します。

Java の汎用メソッド Class の機能はジェネリックの特定の型を示すことであり、Class 型の変数 c を使用してジェネリック クラスのオブジェクトを作成できます。

オブジェクトの作成になぜ変数 c を使用するのでしょうか。これはジェネリック メソッドであるため、特定の型が何であるか、構築メソッドが何であるかがわからないことを意味するため、新しいオブジェクトを作成する方法はありませんが、変数 c の newInstance メソッドを使用して次のことを行うことができます。オブジェクトを作成します。つまり、リフレクションを使用してオブジェクトを作成します。

ジェネリックメソッドで必要なパラメータは Class 型であり、Class.forName() メソッドの戻り値も Class なので、Class.forName() をパラメータとして使用できます。このうち、forName() メソッドのパラメータの型は、返される Class の型になります。この例では、forName() メソッドが User クラスのフルパスで渡されるため、Class 型のオブジェクトが返されます。したがって、ジェネリック メソッドが呼び出されるとき、変数 c の型は Class になります。 ;, そのため、ジェネリック メソッドのジェネリック T は User として指定されているため、変数 obj の型は User になります。メソッド もちろん、ジェネリック メソッドは 1 つのパラメーター クラスだけではなく、必要に応じて他のパラメーターを追加することもできます。

なぜジェネリックメソッドを使用するのでしょうか?ジェネリック クラスはインスタンス化時に型を指定する必要があるため、別の型に変更する場合は再度作成する必要がありますが、ジェネリック メソッドは呼び出し時に型を指定できますが、これでは十分な柔軟性が得られない可能性があります。 、より柔軟です。

Java のジェネリック メソッドに関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

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