Stream APIを使用してマップのリストからLongのリストを取得しようとしています。Java 8ストリーム:マップのリストを解析する
これは、クラスがどのように見えるかされています( "ID"、1)、( "名前"、 "テスト名"):
class Report Bean{
private MarshallableMap data;
}
オブジェクトのデータは、このようなレコードが含まれます。
ReportBeansのリストからIDのリストを取得する必要があります。 これは私が試したものです:
List<Long> ids = reportBeans.stream().flatMap(
m -> m.getData().entrySet().stream()
.filter(e -> e.getKey().equals("ID"))
.map(Map.Entry::getValue)
.map(Long.class::cast))
.collect(Collectors.toList());
私は空リストを取得しています。私は助言が必要です。ありがとうございます
は、あなたが正確に '「ID」'であるキーを持つすべての豆があることを確認している:あなたの「データ」フィールドは、タイプ
Map<String, String>
である場合しかし、あなたは次のようにIDのリストを得ることができますか? – Moira'MarshallableMap'が構成するものを分かち合う。 'ID'はどう関連していますか?そして、おそらくクラス名 'ReportBean'の入力ミスです。 – nullpointer