While I am not a programmer and have no experience with either language I see pros and cons with both. Analytically I would choose Java, but I feel at this point in time .Net is on top.
.Net supports more languages which makes it easier (and potentially less expensive) to hire programmers. However, this could result in a single program written in 5 different languages making it more difficult to modify. .Net requires no license to use, but is only compatible with Windows operating systems. I've seen the issues this can cause - my company has a trading platform developed in house on .Net and a separate, nearly identical, web platform was constructed for clients with Macs.
Java is a widely used and well known language, so development shouldn't be a problem. Supported on all platforms is a big plus and can eliminate the costs associated with redundant software offerings. Also from a security perspective I am very happy that Java runs sandboxed - a feature I was unable to find support for with .Net. Licensing for EE is an additional cost, but getting enterprise support may be beneficial enough to outweigh this.
I think J2EE has substantial benefits over .Net, the decision should be easy. However, Sun Microsystems, and consequently Java, was recently acquired by Oracle. J2EE may require licensing, but Java is an open source standard. Last summer Oracle sued Google claiming patent infringement for their implementation of Java in Android, which is built on a Linux distro. This is a potentially bad sign for open source Java and the open source community is one of the main reasons Java is so widespread and well supported. It may be extreme (and a slippery slope) but Oracle's actions add some uncertainty to the future of the language.
I realized I forgot to write any alternatives. Python is supposed to be a fairly easy to learn, robust, diverse language. Whether it is on par with Java and .NET or not I couldn't say, but it's at least worth considering.
Also, are we talking systems programming or application programming? If the former, what about the Go programming language (no exclamation point) from Google. It's still rough but it sounds like it could be a pretty good alternative.