- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:arraycopyメソッド)
Stringのarraycopyメソッドの使い方とArrayStoreExceptionについて
このQ&Aのポイント
- Stringのarraycopyメソッドを使用すると、指定した要素範囲の値を別の配列にコピーすることができます。
- しかし、配列要素の型が異なる場合にはArrayStoreExceptionが発生します。
- 質問の例では、String型の配列aをString型の配列bにコピーしていますが、配列要素の型が異なるために例外が発生しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
探してみたところ改訂版の方の正誤表にありました。 いちおう修正はされているようです。 しかしこの修正もどうかと思いますね。 むりやり解答に辻褄をあわせたような…。
その他の回答 (1)
- liar_adan
- ベストアンサー率48% (730/1515)
回答No.1
>aとbがStringだから悪いのでしょうか?? そうです。仕様では配列以外には使えないことになっています。 だからString型を与えて例外が発生するのは正常の筈です。 よろしければ問題集の書名と問題箇所をお教えください。
質問者
補足
ありがとうございます。 そうですよね・・・ いまgoogleで、いろいろ調べたところ、やはり配列で説明されている方がいまして・・・おかしいなあ、と思いました・・・ sun教科書 Java2[310-035] 翔泳社 のp208ページ8-5の問題です。 実は翔泳社の掲示板にかなりの質問があったり、 大量の正誤表があったりで・・・ ちょっとこの本が信用できません・・・ とりあえず、正誤表にこのページの事が無かったので質問してみました・・・。 私も自信が無いので・・・。 ちなみに前のページなんですが String args = new StringBuffer().append("a").append("b"),append("c").toString(); これも間違いですよね・・・ append("c")の前は"."ですよね・・・ このような単純な間違えがとにかく多いのです・・・ 初版という訳でもないのに・・・
補足
お手数おかけします すみません、僕は見つけられなかったです。 申し訳ないです。 それにしても、誤植というより、 完全な間違いですね・・・