Bud*_*Kis 1 java nullpointerexception
我正在准备面试,当我经历空指针异常时,我突然意识到每个对象都能以某种方式抛出空指针异常,但我似乎无法想象某些对象如System,Out等抛出NullPointerException.谁能提到这样的场景?谢谢!
例如: System.out.println(s.get(name));
首先,System不是一个对象.它是一个方法是静态的类.其次,out是该类的静态字段(最初)是对标准输出的引用PrintStream.您可以将其更改PrintStream为您自己的System.setOut(PrintStream).
最后,如果你这样做了
System.setOut(null);
System.out.println("42"); // because out is now a null reference
Run Code Online (Sandbox Code Playgroud)
你会得到一个NullPointerException.
当然,你可以找到一个方法System抛出一个NullPointerException为好.
NullPointerException当您尝试取消引用null对象引用时,JVM会抛出大多数这些内容.
你没有取消引用一个类.
只有可执行代码才能抛出NPE,例如方法,构造函数或初始化程序. - 马可
| 归档时间: |
|
| 查看次数: |
1210 次 |
| 最近记录: |