Android Studio模糊方法调用Object.toString

时间:2014-08-26 00:25:49

标签: android-studio tostring ambiguous-call

其他人在Android Studio中看到了“模糊方法调用”错误

getClass()

但我正在看

Object.toString()

还有其他人见过吗?

我的Android Studio版本是0.8.6。

1 个答案:

答案 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?