String.join()该方法编译异常?

String[] stra = {"abc", "cba"};
List strings = Arrays.asList(stra);
Iterator iterator = strings.iterator();
String join = String.join("-", iterator);
System.out.println(join);
String.join()这行怎么编译不过去,哪里有问题。传入的参数也没有问题啊,迭代器泛型也符合。

String.join()第二个参数应该是一个Iterable<? extends CharSequence>而不是一个Iterator ,你直接String join = String.join("-", strings);,用迭代器反而多此一举

String.join("-",strings);  这个方法可以组集合,不能装迭代器,迭代器和集合 是两种东西