Java8のStreamでPOJOのフィールド名を配列にする方法

Java8のStreamでPOJOのフィールド名を配列にする方法

POJOのフィールド名をArrays.streamメソッドで配列にする方法です。

以下の従業員クラスがあるとします。

package jp.co.confrage;

import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class Emp {
  private String name;
  private Integer age;
}

Stream APIのtoArrayメソッドでtoArray(String[]::new);とすることでString型の配列を返すことができます。

以下は従業員クラスのフィールド一覧を配列に格納した例です。

package jp.co.confrage;

import java.util.Arrays;

public class SampleMain {
  public static void main(String[] args) {
    String[] fields = Arrays.stream(Emp.class.getDeclaredFields())
      .map(e -> e.getName())
      .toArray(String[]::new);
    for(String field :fields) {
      System.out.println(field);
    }
  }
}

コメント

タイトルとURLをコピーしました