Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

IT勉強会での初プレゼンなどお助けします!

勉強会でスピーカーをやりたいけど、プレゼンが初めて、苦手という方に無償でコーチできます。スライドのレビューや録画したリハへのアドバイスなどなど。Twitter@jyukutyoまでメンションでもDMでもお気軽にご連絡ください。

私はIT講師の経験があり、プレゼンはデブサミやJJUG CCCなど200人規模の経験が豊富で最大800人の前でプレゼンしました。海外ではDevoxxUSで。デブサミ2017では公募スピーカー1位、デブサミ関西2012アワードで5位となりました。

JavassistのCtClass#getMethod()の第2引数

CtClass#getMethod()

JavassistでgetMethod()の引数に何を渡したらいいか理解していなかった。

  • public CtMethod getMethod(java.lang.String name, java.lang.String desc)

で、「desc - method descriptor」なんだけど、
これはJVMの記法?みたいなのを書けば動いた。


検索したけど、うまく探せなかった。


たとえば、

  • public void setDname(String dname)

はこれで取り出せる。

ctClass.getMethod("setDname", "(Ljava/lang/String;)V")

逆に、

  • public String getDname()

はこうなる。

ctClass.getMethod("getDname", "()Ljava/lang/String;");

「()」のうしろは戻り値だね。「V」はvoidに違いない。