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

我想在Java中实现一个方法,该方法可以自动将接收到的对象转换为其字符串表示形式,而不必toString像print/println那样显式调用。


可能吗?如果可以,怎么办?


MyObject obj = new MyObject();

myMethod(obj); // Doesn't work

System.out.print(obj); // Works (why?)


static void myMethod(String str) {

    // Do things

}


HUX布斯
浏览 147回答 2
2回答

海绵宝宝撒

如果您深入研究该System.out.print方法,就会发现此方法已重载,也允许使用Objectas方法的参数。您的方法仅允许传递字符串,并且由于对象不是字符串,因此无法传递它。您也必须重载方法:static void myMethod(Object o) {    // Do things}

繁星coding

您的方法需要将aObject作为参数,然后调用其toString方法:static void myMethod(Object obj) {    String stringRepresentation = obj.toString();    // now work with stringRepresentation}现在,您无需调用即可调用此方法toString:myMethod(new MyObject());
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java