如何解释这个嵌套的布尔速记?

我不知道如何解释这个嵌套的布尔值,因为!keyPart1.equals(key.keyPart1)是一个比较运算符,但它是否正确。

另外,这个if-else语句嵌套在另一个if语句中,这令我感到困惑。任何帮助将不胜感激,或者破坏此代码可能会消除我的误解。谢谢! :)

if (keyPart1 != null ? !keyPart1.equals(key.keyPart1) : key.keyPart1 != null) return false;