For developing GIS application which is the best language/technology .NET or Java, this is FAQ. I have also came across this question long back, but answer is purely dependent on you. Important thing for any developer is back-end support for the language/technology.
IDEs, Libraries, sample codes, class, controls, objects and necessary ‘Getting Started’ materials are very important for any good developer. Big gaints like IBM, Oracle etc promote Java since they have their own IDE’s , tools developed in Java. Good example is IBM’s RAD. If you look at from ESRI point of view, you can find lot of technical resource and help in .NET when compared to Java. Both .NET and Java converts your code to byte code, hence there is not much difference. If you are from VB background, .NET will be easy, when you are from C++, java will be your way.
To summarize, .NET is scarifices technical flexiblity in favour developer productivity and Java scarifices developer productivity in favour of technical flexiblity. Finally, Java is free where we need to pay for everything in Microsoft.
You can read this article from serverside.com