-snip-(Assuming you're referring to your collision code:)
Why shouldn't I do it? Inefficient? What?
You're checking every possible collision twice!(If you're referring to your solution:)
"!=" works fine, as long as it's the same object. If it's not the same object... you have a problem.
!.equals() is a method which usually involves a few if() statements, and so will take more proccessing power then !=, which is only checking if both pointers are the same. However, the difference is tiny, and is not going to be something you need to change.
But either way, the collision detection should be done outside of the zombie class, which is what most people were telling you.