2

Javassistを使用して、自分が持っているクラスとまったく同じクラスを作成するにはどうすればよいですか。ただし、名前は異なります。すべてのランタイムアノテーションも保持したいと思います。

4

2 に答える 2

5
ClassPool pool = ClassPool.getDefault();
CtClass cc = pool.get("OriginalName");
cc.setName("NewName");
cc.writeFile();
于 2011-11-04T08:13:57.893 に答える
5

このように私にとってはうまくいきます:

javassist.ClassPool.getDefault()
  .getAndRename("com.example.Foo", "com.example.Bar")
  .toClass();
于 2011-11-04T08:50:27.270 に答える