<分区>
我收到一个对象并需要记录它。其中一些有自定义 toString()
然后我想使用它,但有些没有,我得到类似 mightypork.rogue.bus.events.MouseMotionEvent@2d19587d
。
我正在寻找一种方法来动态地(也许通过反射?)检查传入的对象是否有 toString()
自身被覆盖。
String objToString(Object o)
{
if(???) {
return o.toString();
} else {
// fallback method
return o.getClass().getSimpleName();
}
}
边注:
它是一个事件总线系统,一些类可以根据实现的接口(interface)订阅然后接收事件。我不可能要求所有客户端都具有 toString(),而且我想将此方法用于不止一个目的。