как это понимать? куда присваиваются значения выражений по бокам от " : "? расшифруйте пошагово, пожалуйста, как тут работает if...
if (name != null ? !name.equals(human.name) : human.name != null) return false