toString()をオーバーライドした際のメソッドの挙動について質問です。
別クラスでtoString()をオーバーライドして特定の文字を出力させるよう設定したのですが、System.out.println()に与える引数によっては、オーバーライドされたtoString()が呼ばれない場合もあるのでしょうか。
私の認識では、オブジェクトであればtoString()を呼びだせると思っておりました。しかし、Integer型を引数にしても、Integer.classのtoString()が呼び出されてしまいます。
lang
1// class1 2 public String toString() // オーバーライド 3 { 4 return "toString" + num + " " + gas ; 5 } 6 7--------------------------------------------------- 8// class2 9 public static void main(String[] args) 10 { 11 Integer A = new Integer(123); 12 System. out .println(A); 13 } 14 15============ 16結果 17123 18============
これはtoString()のオーバーライドはInteger型には対応しない、という意味でしょうか。
このようなソースを書くことはないと思うのですが、toString()理解のために教えて頂きたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/05/11 08:35