首页 > 解决方案 > java.lang.NullPointerException:空对象引用上的'boolean java.lang.String.equals(java.lang.Object)'

问题描述

if (chat_message.getReceiver().equals("myid") 
    && chat_message.getSender().equals("userid") 
    || chat_message.getReceiver().equals("userid") 
    && chat_message.getSender().equals("myid")
) 

我得到这个错误?

我做的一切都是对的,firebase 也是对的。

当我进入应用程序时,它会立即关闭。有谁知道原因?

我得到的错误:

java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“boolean java.lang.String.equals(java.lang.Object)”

标签: javaandroidandroid-studio

解决方案


如果发送方/接收方的 ID 是常量字符串"myid"/"userid",最好使用 Joda(反转)条件来防止 NullPointerException:

final String sender = chat_message.getSender();
final String receiver = chat_message.getReceiver();

if (("myid".equals(sender) && "userid".equals(receiver)) 
    || ("myid".equals(receiver) && "userid".equals(sender)) 
) 

推荐阅读