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