java - Java中的字符串和空指针

标签 java nullpointerexception tostring

下面的代码让我很生气:

private String blahBlah(){
    return null;
}

@Test
public void myTest(){
    System.out.println(blahBlah()); //Good, output "null"
    Object obj = blahBlah();
    System.out.println(obj.toString()) //Good as above
    //System.out.println(blahBlah().toString()); //Bad, NullPointerException
    //System.out.println(((Object)blahBlah()).toString()); //Bad as above
}

谁能解释一下上述行为吗?

更新:

上面的代码不是事实。我实际经历的是,我收到了 NullPointerException 并且我回溯到 toString() 的调用,并且我尝试了不同的解决方法,包括语句内转换,但它不起作用。但是在我使用单独的强制转换之后,我不小心删除了 toString() 调用,因此它可以工作。

最佳答案

简单。

您可以打印null;您只是无法取消引用 null 值。

关于java - Java中的字符串和空指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9221826/

相关文章:

android - 异步任务的空指针异常

java - Android Intent.getStringExtra() 在 Broadcastreceiver 中返回 null

javascript - 为什么函数变量(登录控制台时)不显示整个函数体?

Java 记录 StackOverflow RuntimeException

java - @Cachable 注解不起作用

java - 有没有办法找到 Hibernate 的加载时间?

java - 如何从另一个类访问对象变量?

java - 将 PinField.getPassword() 的输出转换为字符串

java - 来自 ADFS 的 SAML 响应中的 UserPrincipalName (UPN)

java - 我可以将 native 库的 32 位和 64 位版本都放在 java.library.path 上吗?