• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:arraycopyメソッド)

Stringのarraycopyメソッドの使い方とArrayStoreExceptionについて

このQ&Aのポイント
  • Stringのarraycopyメソッドを使用すると、指定した要素範囲の値を別の配列にコピーすることができます。
  • しかし、配列要素の型が異なる場合にはArrayStoreExceptionが発生します。
  • 質問の例では、String型の配列aをString型の配列bにコピーしていますが、配列要素の型が異なるために例外が発生しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • liar_adan
  • ベストアンサー率48% (730/1515)
回答No.2

探してみたところ改訂版の方の正誤表にありました。 いちおう修正はされているようです。 しかしこの修正もどうかと思いますね。 むりやり解答に辻褄をあわせたような…。

参考URL:
http://www.seshop.com/book/errata/Default.asp?mode=detail&pid=3663&printno=1&pageno=all
azicyan
質問者

補足

お手数おかけします すみません、僕は見つけられなかったです。 申し訳ないです。 それにしても、誤植というより、 完全な間違いですね・・・

その他の回答 (1)

  • liar_adan
  • ベストアンサー率48% (730/1515)
回答No.1

>aとbがStringだから悪いのでしょうか?? そうです。仕様では配列以外には使えないことになっています。 だからString型を与えて例外が発生するのは正常の筈です。 よろしければ問題集の書名と問題箇所をお教えください。

azicyan
質問者

補足

ありがとうございます。 そうですよね・・・ いまgoogleで、いろいろ調べたところ、やはり配列で説明されている方がいまして・・・おかしいなあ、と思いました・・・ sun教科書 Java2[310-035]  翔泳社 のp208ページ8-5の問題です。 実は翔泳社の掲示板にかなりの質問があったり、 大量の正誤表があったりで・・・ ちょっとこの本が信用できません・・・ とりあえず、正誤表にこのページの事が無かったので質問してみました・・・。 私も自信が無いので・・・。 ちなみに前のページなんですが String args = new StringBuffer().append("a").append("b"),append("c").toString(); これも間違いですよね・・・ append("c")の前は"."ですよね・・・ このような単純な間違えがとにかく多いのです・・・ 初版という訳でもないのに・・・

関連するQ&A