First things first, I agree with your opening statement; I would also add that time should also be invesed in learning about the common patterns, how and when they are applied, and why. Java has it's own special take on OO and is full of neat ways to reduce code duplication and allow polymoprhpism and ensure everything is sill flexible and so on, but they are not all intuitive at first.
I believe it will always benefit you to learn another language as it will give you another mental tool to use when attacking programming problems.
So I presume you can write Hello World or its equivalent in a variety of different languages, including Java. But the question is, how much of the Java platform (the Java atandard libraries, the popular frameworks, and so on) should you learn, and how much time should you invest in it?
That is difficult, and of course depends on what you want to do. In my humble experience (~10 years as a developer) learning a specific platform (in your case, .Net) is more useful than investing large amounts of time learning a second platform that you won't be using all the time. Whilst it is nice to see how competing platforms solve similar problems, they often turn out to not be terribly useful in your own platform, or almost exactly the same. So in short, I would say if you wish to remain a .Net developer, stay in .Net, and learn another aspect of it that you haven't looked at before. Learn a little bit of Java but don't spend too much time geting into Swing or Struts or Spring because it wont be that useful to you as a .Net developer.
And if you want to really excercise your mind try languages that are far removed from both .Net and Java - c, lisp, haskell are fun!