java - 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)”
解决方案
如果发送方/接收方的 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))
)
推荐阅读
- c++ - 使用可变参数函数泛化 is_detected
- javascript - 如何使用 scrollIntoView() 同时平滑滚动两个元素?
- java - IntelliJ 在 Gradle Kotlin-DSL 中错误地抱怨它找不到“java.lang.String”
- mysql - 如果我在表中添加值,则在插入后触发器“AFTER INSERT”不起作用?
- reactjs - 错误“'元素类型无效:需要一个字符串(对于内置组件)或一个类/函数(对于复合组件)但得到:对象。”
- ruby-on-rails - Rails:dependent: :nullify 工作不正常
- arrays - Swift - 循环遍历数组 [[Int]] 的智能方法
- javascript - Node/Express - 使用 API JSON 响应来(服务器端)呈现应用程序
- objective-c - 在后台向服务器发送 BLE 设备数据
- c# - 如何使“if(variable = 100 || variable = 200)”等更好?