Java読書会BOF 「Effective Java 第3版」を読む会 第4回

[ 戻る ]


==========================================================================================
Java読書会BOF 「Effective Java 第3版」を読む会 第4回
==========================================================================================

.. csv-table:: 開催概要

   "日時","2019年3月16日 10:00 - 17:00"
   "場所","川崎市教育文化会館 第3会議室"
   "出席者(敬称略)","高橋(徹)、根本、藪下、石黒、長谷川、大部、平山、遠藤、井上、柴村、吉本、岩室、高橋(智)(書記)"

第6章 enumとアノテーション
======================================================================

項目37 序数インデックスの代わりにEnumMapを使う
----------------------------------------------

項目38 拡張可能なenumをインタフェースで模倣する
-----------------------------------------------

- P.180 ... Enum<T> & Operation> ... の & の意味は?
    - Java言語仕様には解説があるはず
    - 特定のインタフェースを実装していることを示す AND の意味
    - 複数の & の場合の書き方は? (宿題!!)

項目39 命名パターンよりもアノテーションを選ぶ
---------------------------------------------

- P.182 「特別な処理」の例として、テストフレームワーク以外に何があるか?
    - ツール開発者やフレームワーク開発者が使う??

- P.188 「void doublyBad() ...」は「void doublyBad() {...}」の誤植
    - 原書のソースコードには一応 { } がある

項目40 常にOverrideアノテーションを使う
---------------------------------------

- P.192 インタフェースのデフォルトメソッドをオーバーライドするユースケースとしては何があるか?
    - 自身や他のコード類などで例があるか? (宿題!!)

項目41 型を定義するためにマーカーインタフェースを使う
-----------------------------------------------------

- P.193 「マーカーアノテーションに優る ... 特定できることです。」の一文は太字でなればならない。誤植。
    - 原書では太字になっている

第7章 ラムダとストリーム
======================================================================

項目42 無名クラスよりもラムダを選ぶ
-----------------------------------

- P.195 「もう使われない!」は原文では「obsolete!」

- P.196 呼び出している「Collection.sort」は、Comparatorの実装を渡す版のメソッドのみであることに注目
    - 無名クラスを渡す場合も、ラムダを渡す場合も、同じメソッドを呼んでいる

項目43 ラムダよりもメソッド参照を選ぶ
-------------------------------------

- P.199 ラムダ以外にもメソッド参照を使うユースケースはあるか?
    - そもそもメソッド参照は何のために導入されたものなのか?

- P.199 メソッド参照を渡すコード部分を逆コンパイルして、その実態を確認する (宿題!!)

項目44 標準の関数型インタフェースを使う
---------------------------------------

項目45 ストリームを注意して使う
-------------------------------

項目46 ストリームで副作用のない関数を選ぶ
-----------------------------------------

- P.214 「36個メソッド」は「36個のメソッド」の誤植。「の」が抜けている

- P.215 「(oldValue, newValue) -> newValue」は原書では「(V1, V2) -> V2」になっている。
    - 翻訳時、分かりやすいように書き換えた?

項目47 戻り値型としてStreamよりもCollectionを選ぶ
-------------------------------------------------

- P.218 StreamとIterableの相互変換メソッドはなぜJDK標準で用意されていないのか?
    - spliterator()の実装コードなどを見て考察する。(宿題!!)

- P.219 「spliterator」は「スプリッテレーター」と発音する

項目48 ストリームを並列化するときは注意を払う
---------------------------------------------

第8章 メソッド
======================================================================

項目49 パラメータの正当性を検査する
-----------------------------------

- P.228 「行いこと」は「行いたいこと」の誤植。「たい」が抜けている

.. note:: 次回は p.231 から。

(以上)


[ 戻る ]