[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