This week's giveaway is in the EJB and other Java EE Technologies forum. We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line! See this thread for details.
Avoiding any cast is a plus. Object type casts are basically a VM version of runnning 'instanceof' on the object. Primitive data type casts are data conversions. Because the primitive type cast consists of the VM mapping a bunch of bits of one size & format to a bunch of bits of another size & format, it is a pretty fast data conversion. But nevertheless, if you can manipulate code to avoid a cast completely, then that is one less operation the code needs to execute. HotSpot tries to eliminate casts wherever it can, even in some cases by speculatively assuming a data type and not bothering with the cast. If the assumption turns out to be wrong, then HotSpot actually has to deoptimize the code to get back to the slower, safer version.