java - 使用隐式参数字符串转换创建方法
问题描述
我想在 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
}
解决方案
如果您更深入地研究该System.out.print
方法,您会看到,该方法被重载以还允许Object
as 方法参数。你的方法只允许传递一个字符串,因为对象不是一个字符串,你不能传递它。
你也必须重载你的方法:
static void myMethod(Object o) {
// Do things
}
推荐阅读
- oauth-2.0 - Google Calendar API——客户端 ID 与服务帐户的优势
- flutter - 如何在 Flutter 中本地解析或使用大数据。我正在创建一个拥有大量数据的古兰经应用程序
- html - Divs 似乎在随机移动
- swift - 如何使用放置在列表上方的 VStack 使整个视图可滚动
- html - CSS 修复以对齐容器流体容器
- multilingual - “使用bos_token,但尚未设置”是什么意思。
- mysql - 如何使用php存储大量数据
- lua - 在数字上拆分字符串
- python - 尝试在 cmd 中读取时,En dash/Em dash 破坏了 txt 文件格式
- spring-boot - Not able to Upload multiple file with multipart-form data content type using swagger yaml openapi 3.0. please suggest