这个问题需要从平台和语言两个角度来来进行对比:
DotNet和Java(或者说JVM)平台从双方都各有千秋,但DotNet因为前期绑定在Windows系统上,错过了互联网的快车道,所以现在的情况是Java平台使用的人数和普及度、生态环境都远好于DotNet平台。
从语言的角度讲,肯定是C#好于Java,因为C#发明的初期就是一个对Java进行改进完善,服务于相同目的的语言。C#版本到目前8.0为止,一直大胆推出新功能新语法,有最强大IDE——VisualStudio的加持,开发体验是远远好于Java的。
不过最近几年,Java的JVM平台也出现了许多Java以外的优秀语言,如Groovy、Kotlin、Scala等,所以C#的优势并不大。
综上所述,如果二者挑一个学习的话,我建议学习Java。但是我个人比较喜欢功能更丰富的DotNet。