小编kou*_*dra的帖子

为什么Arrays.asList(null)抛出NullPointerException而Arrays.asList(someNullVariable)没有抛出异常?

这个小程序

public class Client {
    public static void main(String[] args) throws Exception {
        Arrays.asList(null);
    }
}
Run Code Online (Sandbox Code Playgroud)

抛出一个NullPointerException

Exception in thread "main" java.lang.NullPointerException
    at java.base/java.util.Objects.requireNonNull(Objects.java:221)
    at java.base/java.util.Arrays$ArrayList.<init>(Arrays.java:4322)
    at java.base/java.util.Arrays.asList(Arrays.java:4309)
    at org.example.Client.main(Client.java:10)
Run Code Online (Sandbox Code Playgroud)

但是,该程序

public static void main(String[] args) throws Exception {
    Arrays.asList(returnNull());
}

private static Object returnNull(){
    return null;
}
Run Code Online (Sandbox Code Playgroud)

才不是。他们为什么表现不同?

java variadic-functions

14
推荐指数
1
解决办法
488
查看次数

标签 统计

java ×1

variadic-functions ×1