入門中:型チェックの疑問

[戻る]
wood 2009/11/10(火) 04:45:56
OS:Windows Vist
Java 6SE
NetBeens 6.7.1 を使っています
書籍サンプル入力しながら学習しています

書籍は 毎日コミュニケーションズ 創るJava 改訂第3版
    NetBeens でつくって学ぶ
    JavaGUI & Webアプリケーション
です


書籍の68ページに
解説にJavaは型を厳密に扱うとあり
直接 String型をint型に扱えないから Integer.parseInt のような関数(メソッド)
を使うのような解説があったのですが


  int number = Integer.parseInt(str);
 int result = number + 12;
  taOutput.append(number + "と12を足すと" + result + "\n"); ←ここが疑問

appendの引数はstringのようにIDE補完機能解説に表示されます
numberは何故型が違うと判断されないのでしょうか?

このような記述(int型 + String型)の場合すべてString に
自動変換されるのがJava何でしょうか?
または、引数は型が定義してあっても実は型をチェックしていない物なのでしょうか?

あとで解説するとは、書籍になかったのでここで聞いてみたいと思います
よろしくお願いします

あああ 2009/11/15(日) 21:13:55
Stringオブジェクトが含まれる場合は全てStringに包括されます。
つまり、

String str = 9 + 9 + "";  <---- 9と9はintだが最後の""でString型に補完。("99"に
なる)

あああ 2009/11/15(日) 21:19:21
間違い…
"99" ---> "18"ね

あとSystemクラスのoutオブジェクトのprintメソッド群はStringに自動変換される。
int i= 99;
System.out.println(i); ---> "99"

String str = "99";
System.out.println(str); ---> "99"

wood 2009/11/22(日) 02:30:18
[[解決]]
あああさん、お返事ありがとうございます
式の中に””やStringがあることで自動補完してくれるんですね
この場合、受け取り側がintなどで定義していると、補完されているため
受け取れないとコンパイルエラーになるんですね

ありがとうございました、今後ともよろしくお願いします。

古いスレッドには追加発言できません。