Some advantages that .NET has over Java are:
- Java is not just a platform, but a language. .NET is language independent. Adopting .NET does not force you to adopt a single, or even specific language. .NET can even support the Java language, and J# is very close to Java.
- Language interoperability.
- .NET can coexist with and even integrate with existing Win32 code.
- Moving to Java from Win32 is a complete paradigm shift. Moving to .NET is a more natural path for Win32 developers.
Please go through this article about the comparison between dotnet and java