String courseIds = packList.stream()
.filter(e -> e.getCourse() != null)
.map(PackageCourse::getCourseId).map(String::valueOf).distinct()
.collect(joining(","));
解释:
首先将packList流化,只有获取stream后才能进行后边的操作,
filter过滤,如果每次循环出来的list中的PackageCourse.getCourse()不为空,获取getCourseId,去重,并以逗号分隔。
------------------------------------------------------------------------------------------------------------------------
String courseIds = courseCatalogList.stream().map(e -> e.getCourseId().toString()).distinct().collect(Collectors.joining(","));