[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 10136] Re: Effective Java 第 1 回議事録



福嶋です。
土曜日はいろいろと楽しかったです。

On Sun, 26 May 2002 18:42:32 +0900, according to the article
"[jfriends-ml 10128] Re: Effective Java 第 1 回議事録"
Yoshiki Shibata <yshibata@xxxxxxxxxxxxxxxx> wrote:

> 薄い本ですが、内容は、明らかに初心者向けではないです。

そうですね。構成が「リファクタリング」の本に似ていますね。
トピックがまとめられているので読みやすいです。

> > P6
> >   ==演算子について書かれているが、==演算子の使用を勧めているのか?
> >     --> java.lang.String の処理が重いので、==演算子を使う価値あり
> >     --> プロファイラツールのOptimizeitを使って、ボトルネックがString
> >         の処理である事を発見したことがあった。
> 
> 本文にも書かれていますが、クラスがa==bの時だけa.equals(b)が成り立つこと
> を保証すれば、equalsメソッドの代りに==演算子を使用することが可能になると
> いう説明であり、典型的な例としては、本文に書かれている項目21のタイプセー
> フenumを見た方が、より何を言っているのか理解しやすいと思います。

equals()メソッドよりも==演算子を使った方が速いというのはわかるのですが、
これをやるかどうかは、プログラムのチューニングとして、どこまでやるかに
依存するのではないかと思います。
この間のSun TECH DAYSで、「ローカル変数は最初の3つ(4つ?)に宣言されたもの
へのアクセスが速い」なんてのがありましたが、これはもうチューニングに行き
詰まった最後の手段として用いられるものだと思っています。
意味的には、equals()の方がしっくりくるので、ただ「速いから」という理由では
==は使いたくないですね。equals()と==をものによって使い分ける、というのも
混乱しそうで避けたいです。

> > P23
> >   「エンクロージングクラス」「エンクロージングインスタンス」とは?
> >     --> 意味は?
> >     --> 日本語の訳語は?
> >     --> なんとなく感じはわかるのだが...
> 
> 「enclosing class」と「enclosing instance」が元の英語で、JLS(Java言語仕
> 様)やJPL(プログラミング言語Java)で使用されています。JLSの翻訳本では、
> 「囲んでいる」と訳されているのですが、JPLでは「エンクロージング」とカタ
> カナ表記にしたので、Effective Javaでもその訳語を使用しています。

日本語に置き換えるとしたら「取り囲むクラス」とか「包み込むクラス」すると
わかりやすいでしょうか。
今までは、「アウタークラス」とか言ってたのですが、「エンクロージングクラス」
の方がよいのですかね。

> 横浜市青葉区に住んでいます。より、分かり易く(?)言えば、「こどもの国」の
> 近くです。都合が付けば、参加してもいいですよ。

おお、お近くですね。私は「東名高速横浜青葉I.C.」のすぐ近くです。(^^)

----------------------------------------
(株)PFU ソフトプロダクト事業部第二開発部
  福嶋 航  w.fukushima@xxxxxxxxxxxxxxx