1. Most of the coding are done to interfaces and concrete classes are wired using factories or using spring dependency injection like,
InterfaceName obj=ObjFactory.getImpl(args)
I have to look at Class hierarchy often to go to the method that is being invoked, this is very easy in Eclipse (C+T)
2. Code completion for all methods (methods in different source files and from jars).
3. Highlight errors while editing.
4. Tracing call hierarchy
I tried Emacs some time back for shell scripting on a remote machine and I found that to be very useful and a right fit.
I would love to use Emacs for my java development if there are tools out there which can help me do things that I do with Eclipse. I already feel sluggish with Eclipse some times moving the mouse ;-)