我想在Java中实现一个方法,该方法可以自动将接收到的对象转换为其字符串表示形式,而不必toString像print/println那样显式调用。可能吗?如果可以,怎么办?MyObject obj = new MyObject();myMethod(obj); // Doesn't workSystem.out.print(obj); // Works (why?)static void myMethod(String str) { // Do things}
2 回答
海绵宝宝撒
TA贡献1809条经验 获得超8个赞
如果您深入研究该System.out.print方法,就会发现此方法已重载,也允许使用Objectas方法的参数。您的方法仅允许传递字符串,并且由于对象不是字符串,因此无法传递它。
您也必须重载方法:
static void myMethod(Object o) {
// Do things
}
繁星coding
TA贡献1797条经验 获得超4个赞
您的方法需要将aObject作为参数,然后调用其toString方法:
static void myMethod(Object obj) {
String stringRepresentation = obj.toString();
// now work with stringRepresentation
}
现在,您无需调用即可调用此方法toString:
myMethod(new MyObject());
添加回答
举报
0/150
提交
取消