LoginSignup
7

More than 1 year has passed since last update.

Java 8に学ぶstaticファクトリーメソッドのメソッド名

Last updated at Posted at 2017-09-04

Javaにおけるメソッド名は一般的に動詞にするものですが、staticファクトリーメソッドについては、前置詞や名詞を使用することがあります。

staticファクトリーメソッドとは

staticファクトリーメソッドとは、String.valueOf()のように、コンストラクタのかわりにインスタンスを提供するメソッドのことです。
詳しい説明は、『Effective Java』に委譲します。

Java 8における使用例

Java 8で追加されたクラスでは、インスタンスの提供方法としてstaticファクトリーメソッドが活用されています。

LocalDateTime

  • from(TemporalAccessor temporal):別の時間的オブジェクトからインスタンスを生成
  • now():現在日時のインスタンスを生成
  • of(int year, int month, int dayOfMonth, int hour, int minute):指定した年、月、日、時、分のインスタンスを生成
  • of(LocalDate date, LocalTime time):指定した日付、時刻のインスタンスを生成

Optional

  • empty():空のOptionalを生成
  • of(T value):指定した非null値のOptionalを生成
  • ofNullable(T value):指定した値のOptionalを生成

Stream

  • empty():空のStreamを生成
  • of(T... values):指定した値を要素に持つStreamを生成

一般化

上記の例を踏まえると、staticファクトリーメソッドのメソッド名は次のように一般化できます。

メソッド名 役割
empty 空のインスタンスを生成
of 指定したパラメーターのインスタンスを生成
from 別クラスのオブジェクトからインスタンスを生成

また、これらのほかにofNullablenowのように用途にあったメソッド名をつけると、ユーザーにとっても分かりやすいでしょう。

参考リンク

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7