I'm a C# programmer and about one year ago I had to participate in the development of an application in Java. What I missed the most was:
- Visual Studio (Eclipse is nice, but
VS is VS, especially Team Edition)
- Comparing strings with ==
- Properties
- Basic types as first-class objects
(e.g. not "int" type vs "Integer"
class)
- Anonymous methods (a workaround can
be made by using anonymous classes
but it is not the same)
- LINQ
And there was one single Java feature that I missed when I went back to C#: explicit exception declaration in method signatures.
DISCLAIMER: I am speaking about a somewhat old project, I don't know if some of these features are present in current versions of Java.