可以在Java中序列化Method对象吗?

Mar*_*ior 2 java reflection serialization

我尝试序列化一个Method对象时收到此错误.

java.io.NotSerializableException: java.lang.reflect.Method
Run Code Online (Sandbox Code Playgroud)

任何的想法?

Łuk*_*nik 6

你可以手动完成.只需将类名,方法名和参数类名序列化为字符串,然后在反序列化期间使用反射机制重新创建Method对象.

Class.forName(clsName).getMethod("methodName", Class.forName(param1ClsName), ....);
Run Code Online (Sandbox Code Playgroud)

如果您实现了Externalizable接口,那么您可以将您的类用作常规可序列化类.