このObject
クラスには、toString()
Javaのすべてのクラスに継承されるがあります(非常にクラスがから派生しているためObject
)。これtoString()
が呼び出されます(オーバーライドされない限り、その場合、その特定のオブジェクトのオーバーライドtoString()
が呼び出されます)。
これを防ぐためにできることは何もありません。
別の注意点として、あなたのメソッドはどのように見えますか?持っていてpublic myMethod(String arg)
、電話をかけた場合myMethod(new FileEntry())
、コンパイル時エラーが発生することは間違いありません。
もちろん、Object arg
パラメータとして持つオーバーロードされたメソッドがある場合、それが呼び出されるメソッドです。内部的には、このメソッドはおそらくを呼び出しtoString()
ていarg
ます。また、文字列コンテキストで文字列ではないオブジェクトを使用すると(たとえば、文字列に連結した場合)、そのオブジェクトtoString()
(オーバーライドされたオブジェクト、またはfromからのデフォルトObject
)への暗黙の呼び出しが発生します。
からよりきれいな結果を得るには、クラスtoString()
をオーバーライドtoString()
して、FileEntry
より意味のあるものを出力するようにする必要があります。