"Should I switch from .Net to Java"
No. But should you add Java to your toolbelt? Quite possibly, yes, it depends on what you want to do next in your career. Java has a lot of reach. It's fantastic for server-side development (web and otherwise), great for "thick" desktop applications (with your choice of a couple of UI frameworks), terrific for embedded development, etc. (Side note: People tend to hear "Java" and think "Java applet". Applets are great, but with today's browsers I think the vast majority of purposes for which they used to be used are better served with JavaScript+DOM+XHR; the exception of course being media streaming and such where -- whether I like it or not, and I don't -- Flash seems to be the dominant force.)
Java provides an excellent environment with a huge array of both built-in and add-on functionality. The ecosystem is mature; if you have something you need to do, the odds are very, very high there's a Java library out there that does it. (Don't get me wrong, .Net's ecosystem has grown explosively, but Java had such a massive head start, I think .Net's still catching up.)
Java runs on every major operating system and quite a few minor ones. That's a huge plus compared with .Net's Windows-ness (with all due respect to the excellent work from the Mono folks, and indeed to Microsoft for working with the ECMA on specifications).
If you've been doing a lot of JavaScript work lately, you'll be glad to know that writing JavaScript (true JavaScript, not JScript) for the Java VM is trivially easy thanks to Rhino, and integration between Java code and JavaScript code is nearly transparent.
There are lots of IDE choices for Java development. The biggies are Eclipse (which is not just Java), NetBeans, and IntelliJ. I'm not dissing Visual Studio.Net at all, but I do like choice. (Edit: Speaking of choice, just ran across a VS.Net alternative IDE. I know nothing about it, but having just commented on IDE choice...)
All of which is by the bye if it's not applicable to what you're doing next. C# is an excellent, modern language that's learned from its predecessors and tried to go that next step further. The .Net platform is huge, well-supported by the community, and backed by the most influential software company in the world. It's a major force and if you stuck with just doing that, it's not like you'd have trouble finding work with those skills.
Languages are tools. Runtimes are tools. Should you switch from a screwdriver to a hammer? Depends, are you dealing with a screw or a nail? It's not an either/or. It can be a both/and if you like. That's my approach, anyway -- I happily work in both.