其他人在 Android Studio 中看到了“模棱两可的方法调用”错误
getClass()
但我看到它是为了
Object.toString()
其他人看到了吗?
我拥有的 Android Studio 版本是 0.8.6。
其他人在 Android Studio 中看到了“模棱两可的方法调用”错误
getClass()
但我看到它是为了
Object.toString()
其他人看到了吗?
我拥有的 Android Studio 版本是 0.8.6。
首先,回答你的实际问题,是的,我看到了,我正在运行 Android Studio (Beta) 0.8.14,它是一个 Android Studio/IntelliJ 错误,如前所述,所以你的代码应该没问题实际编译。但是,如果你想让它停止用红色强调所有内容:
您可能会注意到在Android Studio - Ambiguous method call getClass()getClass()
中找到的调用问题,您可以将有问题的对象转换为 an来解决它:Object
((Object) myObject).toString()
或者,根据您正在处理的情况,您可以依赖 Java 包含的库隐式*调用toString()
对象,就像我的代码一样,我在其中附加到 a StringBuffer
:
sb.append("Object's toString() returned: " + myObject);
注意:即使您没有String
我在那里定义的文字对象,这仍然有效,所以这也是有效的:
sb.append(myObject);
或者,如果您只是打印到标准输出,
System.out.println(myObject);
*作为旁注,它实际上并没有被隐式调用,而是许多 Java 的内置类具有接受类型对象的重载方法签名,Object
然后通过调用将其转换为字符串String.valueOf(myObject)
- 请参阅对象如何会隐式调用 toString 方法吗?有关此的更多信息。