What Bearhugger said is true to an extent. Java has not aged well. Most of the "cool" features are built into other languages which run on the JVM like Clojure and Scala and not added to Java itself. Meanwhile, C# has definitely improved with age. Take a look at the following.
Mono support is typically very good for running on Linux & OSX and with tools like MonoTouch it's possible to write mobile apps in C# which are portable to all major mobile devices. C# is definitely not going anywhere as a language.