1

クラス内のメソッドをブラウズしてから、別の場所に別の名前でメソッドを生成しています。パラメーターと戻り値の型は同じです。method.getParameters()、method.isGeneric() などでチェックします。

したがって、次のような元のクラスの定義を使用します。

public void fun1(T a, T b){ //something...}

私は取得したい:

public <T> void anotherName(T a, T b) { //something }

クラスの先頭に < T> を追加する方法を示す関連する問題がここにあります: Sun CodeModel ジェネリック メソッド

JTypeVar t = checkedMethod.generify("T"); 
checkedMethod.param(jCodeModel.ref("LinkedList").narrow(t), "list");

ただし、ループ内のすべてのメソッドをチェックし、どのメソッドがジェネリック型を持っているかを判断したいので、名前の前に < T> が必要です。すべてのメソッドを生成すると、次のようなケースが表示されます。

public <String> String fun2(String a, String b);

そして、私が割り当てたいかどうかは不明です

String s = fun2("s","s");

指定された型が既知の Java-type であるかどうかを確認する方法はありますか?

4

1 に答える 1