ストリームからリストを取得しようとしていますが、例外があります。java:互換性のない型:推論変数Tに互換性のない境界があります。等しい制約:下限:java.util.List <>
ここには、オブジェクトのリストを持つMovieオブジェクトがあります。ここで
public class Movie {
private String example;
private List<MovieTrans> movieTranses;
public Movie(String example, List<MovieTrans> movieTranses){
this.example = example;
this.movieTranses = movieTranses;
}
getter and setter
がMovieTransです:
public class MovieTrans {
public String text;
public MovieTrans(String text){
this.text = text;
}
getter and setter
私はリストに要素を追加します。
List<MovieTrans> movieTransList = Arrays.asList(new MovieTrans("Appel me"), new MovieTrans("je t'appel"));
List<Movie> movies = Arrays.asList(new Movie("movie played", movieTransList));
//return a list of MovieTrans
List<MovieTrans> movieTransList1 = movies.stream().map(Movie::getMovieTranses).collect(Collectors.toList());
私はこのコンパイラエラーがあります。
Error:(44, 95) java: incompatible types: inference variable T has incompatible bounds
equality constraints: MovieTrans
lower bounds: java.util.List<MovieTrans>
flatMapにおけるパラメータとしてメソッド参照を呼び出すことはできません。私はm - > m.getMovieTranses()でそれを行います。ストリーム() – emoleumassi
@emoleumassiが編集しました。 –