该代码可以使用JDK 8(1.8.0_212)正常编译,但是无法同时使用Oracle jdk和open jdk的JDK 11(11.0.3)进行编译(aws corretto)
尝试使用javac和Maven(Maven 3.6.1版和Maven-compiler-plugin插件3.8.0版)进行编译,它针对JDK 8进行编译,而针对JDK 11则失败。
import java.net.URL;
import java.util.List;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.function.Function;
import java.util.stream.Stream;
public class AppDemo {
public static void main(String[] args) {
// NO error here
giveMeStream("http://foo.com").map(wrap(url -> new URL(url)));
List<String> list = new ArrayList<String>();
list.add("http://foo.com/, http://bar.com/");
// error: unreported exception MalformedURLException;
// must be caught or declared to be thrown
list.stream().flatMap(
urls -> Arrays.<String>stream(urls.split(",")).map(wrap(url -> new URL(url)))
);
// error: unreported exception MalformedURLException;
// must be caught or declared …Run Code Online (Sandbox Code Playgroud)