10

次のシグネチャを持つメソッドを生成するにはどうすればよいですか?

public <T extends MyClass> void doSomething(T t)

これまでのところ、私は持っています:

MethodSpec.methodBuilder("doSomething")
        .addModifiers(Modifier.PUBLIC)
        .addTypeVariable(TypeVariableName.get("T", MyClass.class))
        .build()

編集これは上記のコードが生成しているものです(パラメーターを追加する方法がわかりません):

public <T extends Myclass> void doSomething()
4

2 に答える 2

3

Generic 型付き構造体を渡したい場合は、次の方法を使用します。

MethodSpec loadListInteger = MethodSpec.methodBuilder("loadListInteger")
                    .addModifiers(Modifier.PUBLIC)
                    .returns(void.class)
                    .addParameter(ParameterizedTypeName.get(List.class, Integer.class), "list")
                    .build();
于 2016-09-19T07:29:11.407 に答える