2

他の人は、Android Studio で「あいまいなメソッド呼び出し」エラーを見ました。

getClass()

しかし、私はそれを見ています

Object.toString()

他の誰かがそれを見ましたか?

私が持っている Android Studio のバージョンは 0.8.6 です。

4

1 に答える 1

1

まず、あなたの実際の質問に答えるために、はい、私はそれを見ています.Android Studio(ベータ版)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 の組み込みクラスの多くには、 type のオブジェクトを受け入れるオーバーロードされたメソッド シグネチャがありObject、これは への呼び出しを介して文字列に変換されます-オブジェクトのしくみString.valueOf(myObject)を参照してくださいtoString メソッドを暗黙的に呼び出しますか? 詳細については。

于 2014-12-09T20:18:29.850 に答える