I know that most of the new comers fall love with C # and start thinking as java sucks.
I would say wait, think twice, and think about the platform, don’t be specific to a language or some features. As a programmer’s point of view, you may fall into love with a particular language, but when you would act as a software engineer / developer / architect and you would want to develop mission-critical applications for business, your decision pattern would be as to which platform is better / appropriate / economical / less risky.
You won’t find many financial institutions going with .NET for the core platform after its well-publicized failure at the London Stock Exchange. Java has a proven backbone.
I hope you will get a point of thinking twice.