Actually h3r3tic, you are technically incorrect in saying that you can only use == with primitive data types. You "can" use == to compare objects, but with objects, == evaluates whether or not two objects are exactly the same; (as in same memory address, etc.) at least that's what I believe is the case.

But hey, that was a pointless comment from me...just being pedantic I figure if I write this reply I might actually be able to get to sleep.

ac