Java逆引きクイックリファレンスの正誤表を勝手に作ってみる。
☆本家サポートページ
http://book.mycom.co.jp/support/bookmook/quick/Java/
☆勝手に正誤表
ページ | 番号 | 場所 | 内容 |
---|---|---|---|
p3 | はじめに | 1行目 | 誤: サンマイクロシステム 正: サンマイクロシステムズ |
p5 | 目次 | Q023 | 誤: デクラスのメソッドと〜 正: クラスのメソッドと〜 |
p24 | Introduction005 | 1段落目の2行目 | 本文と実行例が合ってない。 本文: 「C:\sample>」と表示されれば〜、 実行例: C:\java |
p24 | Introduction005 | 3段落目の1行目 | 本文と実行例が合ってない。 本文: java 「chapter01.HelloWorld」とコマンドを入力し〜 実行例: java HelloWorld |
p28 | Introduction008 | 下の表 | 誤: %c/$C 正: %c/%C |
p29 | Introduction008 | PrintfSample001.java | コメントとコードが合ってない。 コメント: //オブジェクトをbooleanで表示する %b/%B コード: %Bのコードがない。 |
p29 | Introduction008 | PrintfSample001.java | コメントとコードが合ってない。 コメント: //浮動小数点を有効桁数を指定して表示する %f コード: %eの使用例。 |
p29 | Introduction008 | PrintfSample001.java | %eの使用例を示しているところで、同じ処理を繰り返している。恐らく、%eと%Eそれぞれの例を示したかったと思われるが、そうなっていない。 |
p29 | Introduction008 | PrintfSample001.java | コメントとコードが合ってない。 コメント: //浮動小数点を有効桁数を指定して表示する %f コード: %g/%Gの使用例。 |
p36 | Q*001 | 一番下の段落 | 浮動小数点は、少数を扱う型でそのサイズにかかわらずdouble型を使用します。と書いてあるにも関わらず、その下のコード例ではfloat型を使っている。説明とコード例が矛盾している。 |
p37 | Q*001 | 2段落目 | 誤: 下の方式では〜 正: 下の式では〜 |
p37 | Q*001 | 2段落目 | 次の式でa |
p44 | Q*004 | Sample004.java | メンバ変数member1 スコープはこのクラス全体とあるが、パッケージプライベートな変数なので、実際は同一パッケージ内である。 |
p46 | Q*005 | 算術演算子の表: -- | 誤: b--は変数の評価に減算 正: b--は変数の評価後に減算 |
p48 | Q*006 | 比較演算子の表: instance of | 誤: aがbと同じクラスかbのサブクラスである場合にtrueを返す 正: aがnullでなく、かつ、aがbにClassCastExceptionを起こさずにキャストできる場合にtrueを返す |
p50 | Q*007 | Sample007.java | コメントとコードが合ってない。 コメント: // & コード: ans = (a == 5 && b == 10); |
p56 | Q*010 | Sample010.java | double→intに変換しているが、結果出力は変換前のdoubleを指定してしまっている。サンプルの意図とは異なると思われる。 |
p59 | Q*012 | 3行目 | 誤: 「case」の後に記述し";"の後に〜 正: 「case」の後に記述し":"の後に〜 |
p59 | Q*012 | 3〜4行目 | 「switch文」の特徴は合致するcaseの処理をすべて実行することです。とあるが、「すべて」の意味するところが不明。単純に「switch文」の特徴は合致するcaseの処理を実行することです。で良いのでは? |
p64 | Q*015 | Sample015.java | コメントとコードが合ってない。 コメント: // 条件式・・・10より大きくなった場合終了 コード: while (count < 10); //10以上になった場合終了 |
p80 | Q*026 | アクセスレベルの種類 | クラス宣言時に指定できるアクセスレベルは「public」と「無指定」のみです。とあるが、内部クラスにおいては、「private」や「protected」も指定できる。 |
p95 | Q*032 | Sample032c.java | コメントがおかしい。「一般社員オブジェクトとして主任職オブジェクトを生成する。」 ここでは主任職 extends 一般社員だが、is-a関係が成り立っていないので、継承のサンプルとして妥当でないと思われる。 |
p130 | Q*049 | 下の方 | 下図の配列を作成するには以下のように記述します。と書いておきながら、コード例と図が異なる。 コード例: int i = new int[3][4]; (3×4の配列) 図: 3×5の配列 |
p135 | Q*051 | Sample051b.java | 可変長パラメータにnullを渡す例も記載されている。一見printFlyメソッドの先頭で可変長パラメータflyTypesにnull判定を行っているので、NullPointerExceptionが起きないように見えるが、実際はnullが一つ入った配列が渡されるので、このnull判定はtrueで判定され後続処理に続く。であれば、一体何のためにこのnull判定を行っているかが分からない。 ※間違いではないが、分かりづらい。 |
p141 | Q*053 | 3行目 | Calendarクラスは抽象クラスなので、具象クラスのGregorianCalendarを使用します。とあるが、GregorianCalendar#getInstanceを使わなくても、Calendar#getInstanceで問題ない。 ※実際のところ、Calendar#getInstanceを呼ぶと、このメソッドの中でGregorianCalendarを生成し返すようになっている。 |
p172 | Q*064 | メモ | タイトルがjavadocとなっているが、書いてある内容がjavadocとは関係ない。 |
p196 | Q*080 | Sample080b.java | 例外をスローする記述が誤り。 誤: throws myException 正: throw myException ※一行で記述する場合は〜のコメント中も同じ。 ※サポートページでダウンロードできるソースは問題ありませんでした。誤植ですか? |
p197 | Q*081 | タイトル | 正確性に欠ける表現: 誤: OutOfMemory 正: OutOfMemoryError |
p204 | Q*086 | 2行目 | URL: 誤: Universal Resource Locator 正: Uniform Resource Locator |
p210 | Q*089 | Sample089.java | convertDateメソッドに引数lがあるが、convertDateメソッド内で使用していない。サンプルの意図とは異なると思われる。 |
p220 | Q*095 | 実行結果 | エクスプローラのハードコピーが貼ってあるが、newDirectories配下のnestDirectoryが正しく作成されたかどうかがこのハードコピーからでは分からない。 |
p234 | Q*102 | タイトル | メソッド名の誤り: 誤: renamTo 正: renameTo |
p273 | Q*118 | Sample118b.java | コンストラクタ中の処理で、new UncaugthExceptionHandlerとあり、一見スペルミスのように見えたが、下にその名前のクラスが定義されていた。 ※誤りではないが、分かりづらい。 |
p282 | Q*121 | Sample121a.java | producer.join()、および、consumer.join()の2行は不要と思われる。後続処理がないのにスレッドの完了を待つ必要はない。 |
p312 | Q*133 | Sample133.java | isHankakuメソッドに半角カナを渡すとfalseになる。メソッド名が不適切。 |
p321 | Q*139 | 5行目 | ※ロケールはjava.util.Localeクラスに定義されているものが使えますとあるが、java.util.Localeクラスに定義されているもの以外も使える。(Locale l = new Locale("th", "TH"); とか) ※誤りではないが、誤解をまねくと思われる。 |
p330 | Q*144 | 実行例 | オプションの指定ミス: 誤: java -Xms 1024M -Xmx 2048M (実行するクラス名) 正: java -Xms1024M -Xmx2048M (実行するクラス名) |
p330 | Q*144 | 2段落目の3行目 | -Xmsに指定する値は、1Mバイトより大きい1024の倍数である必要があります。とあるが、1024の倍数である必要はない。(ex: -Xms64mとか) |
p344 | Q*151 | 4行目 | 誤: Mozilla Rihno 正: Mozilla Rhino |
p345 | Q*151 | ファイルよりJavaScriptを読み込む方法 | HelloWorld.jsの中身が掲載されていないため、実行結果が正しいのかどうか判断が付かない。 |
p361 | Q*157 | 4行目 | 誤: 環境変数のを〜 正: 環境変数を〜 |
p381 | Q*163 | メモ Java DB 2段落目の4行目 | 誤: (本書ではネットワークモードのみ紹介している) 正: (本書では組み込みモードのみ紹介している) |
探せばもっとありそう。レビューアとしての能力を磨くにはもってこいの教材かも。