Comment Consider the APIs that come with the language ... (Score 1) 817
From a pure programming language perspective, Java and C# are very comparable. I personally prefer Java. C# put in a lot of effort to remove programming "hassles" like automatic boxing, enums, generics, etc., but Java has caught up in 1.5. And both are very good for learning OO concepts and software design.
The main difference (IMO) comes from the APIs. Unless you happen to be one of those people who write command-line apps for their desktop computing fibonacci numbers, you will need to understand a billion APIs - XML, SOA, GUI, and god-only-knows what. And good-luck trying to master both
( putting on fireproof vest). C# today seems to be more popular for "desktop" and "GUI" kind of applications. Java OTOH seems to be more popular with "server" kind of applications. So your choice finally boils down to - what kind of applications do you see yourself developing.