有一個(gè)List<String> fileNames,存放的是附件的名字集合。
要把這個(gè)fileNames,轉(zhuǎn)成Enclosure類的List,通過(guò)stream操作。
public class Enclosure {
private int enclosureId;
private String path;
private Timestamp uploadTime;
private String path;
private String name;
}
我現(xiàn)在的代碼
List<Enclosure> list = fileNames.stream().flatMap(i -> {
Enclosure enclosure = new Enclosure();
enclosure.setUploadTime(new Timestamp(System.currentTimeMillis()));
enclosure.setName(i);
enclosure.setPath("testurl"+ i);
return enclosure;
}).collect(Collectors.toList());
有語(yǔ)法錯(cuò)誤,不知道應(yīng)該如何寫(xiě)。求教。
2 回答

蠱毒傳說(shuō)
TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超3個(gè)贊
將flatMap換成map即可
List<String> fileNames = new ArrayList<>();
fileNames.add("aaa");
fileNames.add("bbb");
fileNames.add("ccc");
List<Enclosure> list = fileNames.stream().map(i ->
{
Enclosure enclosure = new Enclosure();
enclosure.setName(i);
// enclosure.setUploadTime(new Timestamp(System.currentTimeMillis()));參數(shù)錯(cuò)誤
enclosure.setPath("testurl" + i);
return enclosure;
}).collect(Collectors.toList());
for (Enclosure enclosure : list)
{
System.out.println(enclosure.getName());
}

蕪湖不蕪
TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊
map函數(shù)是用來(lái)生成新類的。flatMap和map類似,不同的是其每個(gè)元素轉(zhuǎn)換得到的是Stream對(duì)象,會(huì)把子Stream中的元素壓縮到父集合中。
添加回答
舉報(bào)
0/150
提交
取消