I am reading java 8 in action, and the author says that if you have a class that overrides the toString method, you don\'t need to map the stream to Strings when doing colle
Whatever the book says is wrong and your interpretation is right (unless the point is entirely different and you did not get it)
people.stream()
will generate a Stream<People>, while Collectors.joining has a definition of:
public static Collector<CharSequence, ?, String> joining()
obviously this can't work as Person is not an instance of CharSequence.