为了账号安全,请及时绑定邮箱和手机立即绑定

使用隐式参数字符串转换创建方法

使用隐式参数字符串转换创建方法

HUX布斯 2021-04-09 18:15:11
我想在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

}


查看完整回答
反对 回复 2021-04-21
?
繁星coding

TA贡献1797条经验 获得超4个赞

您的方法需要将aObject作为参数,然后调用其toString方法:


static void myMethod(Object obj) {

    String stringRepresentation = obj.toString();

    // now work with stringRepresentation

}

现在,您无需调用即可调用此方法toString:


myMethod(new MyObject());


查看完整回答
反对 回复 2021-04-21
  • 2 回答
  • 0 关注
  • 146 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信