K.Maebashi's BBS

ご自由に書き込んでください。雑談も可。
テスト書き込みの類はテスト用掲示板にどうぞ

[日付順表示] [日付順インデックス] [スレッド順インデックス]


新規投稿 | 開設者ホームページへ戻る | ヘルプ


[2002] 『Java謎+落とし穴徹底解明』の正誤について
返信


投稿者:藤四郎
2017/09/16 21:07:59

Link:
はじめまして。

『Java謎+落とし穴徹底解明』は改訂も増刷もされていないのがとても残念です。現行のJavaでは本書で指摘されていた問題点の多くは改善されているらしいですが、本質的な理解を得るのに本書はまだまだ「現役」ではないかと素人ながら思います。(ただ、3.6.7や7.1は、相応の開発経験のない私には、まだしっくり理解できません。)

さて、まだそちらの正誤表に載っていない事項を見つけたと思いました。重箱の隅的なものばかりで単に煩わしいかもしれませんが、報告させていただきます。(第4刷)

p.37 3行目
fillPatternCodeで指定される色
→ fillPatternCodeで指定される中塗りパターン

p.74 8行目
ことにになり,

p.90 12行目
p2 = new Point();
→ Point2D()

p.99 4行目
その方法については「6.5 clone()とCloneable」で説明します.
→ 「その」が「深いコピー」を指すのなら、それは7.3.1で説明されているような…。

p.104 Fig.2.14
1 2 3 4
→ 0 1 2 3

p.166 下から2行目
elseif

p.203 NOTE
IntStackがIntArrayの一部であり
→ 「IntStackはIntArrayを持っている」ので「IntArrayがIntStackの一部であり」かと思います。

p.212 Fig.3.16
Polyine
p.213 List 3.24 XDrawApplet.java l.25
"Polyine"

p.214 List 3.30 ShapeIterator.java
→ 誤りではないですが、 4.2.4 (p.246) との整合性からpublicはないほうがよいのでは? Drawableなどの他のinterfaceではpublicされてないですし…。

p.217 List 3.34 DrawWindow.java l.24, 27
scale
→ 誤りではないですが、他の箇所ではthis.scaleとされています。

p.217 List 3.34 DrawWindow.java l.126, 143, 151, 158
dcToWcX(e.getX()), dcToWcX(e.getY()));
→ dcToWcX(e.getX()), dcToWcY(e.getY())); // こちらも、 xMin, yMinを 0にしているため発現しませんが。

p.225 1行目
finish()
→ finishCommand()

p.240 Fig4.3
CLASSPAHT

p.340 33行目(下から3行目)
FactoryTestImpl
→ あるいは私の理解が足りないだけかもしれません。しかし、これを直前の段落にあるWindowTestImplに置換すれば理解したつもりになれるのですが…。

p.350
} catch (Exception ex) {
    err.printStackTrace();

p.354 List 7.1 l.1
import java.security.*;
→ 不要と思われます。

p.355 1行目
SecurityManagerのgetStackTrace()メソッドは
→ SecurityManagerのgetClassContext()メソッドは

p.357 22行目
兼ね合いもなどある

p.365 1行目
Colorというフィールド
[ この投稿を含むスレッドを表示] [ この投稿を削除]



[2003] Re:『Java謎+落とし穴徹底解明』の正誤について
返信


投稿者:(ぱ)こと管理人
2017/09/21 00:56:22

Link:
はじめまして。反応が遅くなりまして申し訳ありません。

15年も前の本ですが、色々ご指摘ありがとうございます。
次の週末に正誤表に掲載いたします。

1点だけ。

>p.99 4行目
>その方法については「6.5 clone()とCloneable」で説明します.
>→ 「その」が「深いコピー」を指すのなら、それは7.3.1で説明されているような…。

7.3.1の直列化を使った「深いコピー」はある種裏技的なものなので、
ここでの「深いコピー」は、あくまで6.5のものを意味しています。

>p.340 33行目(下から3行目)
>FactoryTestImpl
>→ あるいは私の理解が足りないだけかもしれません。しかし、これを直前の段落にあるWindowTestImplに置換すれば理解したつもりになれるのですが…。

ここはWindowsTestImplが正しいです。これが理解の妨げになっておりましたら
申し訳ありません。

ありがとうございました。
[ この投稿を含むスレッドを表示] [ この投稿を削除]



[2004] Re:『Java謎+落とし穴徹底解明』の正誤について
返信


投稿者:藤四郎
2017/09/22 21:34:17

Link:
ご返信ありがとうございます。

>15年も前の本ですが、色々ご指摘ありがとうございます。
>次の週末に正誤表に掲載いたします。

私は誤解やら勘違いやらをしょっちゅうやらかす人間なので、ほとんどをご確認いただけて安堵しました。お忙しい中お手数おかけして恐縮ですが、いまなお精読するに値する本だと思うので、よろしくお願いします。

>7.3.1の直列化を使った「深いコピー」はある種裏技的なものなので、
>ここでの「深いコピー」は、あくまで6.5のものを意味しています。

お言葉を返すようで恐縮ですが、直列化を使った「深いコピー」は7.3.2で説明され、7.3.1ではその前振りとしてclone()での「深いコピー」の具体的コーディング例が載っています。そして、6.5にはclone()での「深いコピー」の具体的方法の記述は見当たらないようです――というのが私の理解なのですが…。それこそこちらの勘違いでしたら、本当にすみません。

こちらこそ、ありがとうございます。
[ この投稿を含むスレッドを表示] [ この投稿を削除]



[2005] Re:『Java謎+落とし穴徹底解明』の正誤について
返信


投稿者:(ぱ)こと管理人
2017/09/24 23:53:24

Link:
ご指摘の点、正誤表に記載しました。

>>7.3.1の直列化を使った「深いコピー」はある種裏技的なものなので、
>>ここでの「深いコピー」は、あくまで6.5のものを意味しています。
>
>お言葉を返すようで恐縮ですが、直列化を使った「深いコピー」は7.3.2で説明され、7.3.1ではその前振りとしてclone()での「深いコピー」の具体的コーディング例が載っています。そして、6.5にはclone()での「深いコピー」の具体的方法の記述は見当たらないようです――というのが私の理解なのですが…。それこそこちらの勘違いでしたら、本当にすみません。
>
おっしゃるとおりです。確かに、6.5.ではclone()の実装方法について説明はしていますが、
それは「深いコピー」ではありませんでした。
7.3自体が裏技の説明なので、そこを参照というのも妙な気がしますが、
7.3.1にしか深いコピーの具体的実装はないですね……

正誤表にはそのように記載しました。ご指摘ありがとうございました。
[ この投稿を含むスレッドを表示] [ この投稿を削除]