Какие сложности могут возникнуть при изучении Java после C#?
типичные трудности изучения "следующего языка":
- лень
- прокрастинаяция
- увиливание
преимущества  изучения "следующего языка":
- ломка стереотипов и призм "первого языка"
- расширение программистского понимания вне рамок языков
в случае ява после шарпа (как и наоборот) и трудности, и бонусы минимальные. сами языки, ближе к друг другу, чем даже к C/C++, хотя оба их потомки. там больше проблем будет с окружениями и библиотеками - тут уже различия глобальные. вокруг каждого языка, собственная экосистема (.Net/Mono против JVM). при этом, эти экосистемы не пересекаются, и состоят в откровенной конкуренции. это имеет значение, когда уже подростаем до уровня готовности к реальному трудоустройству. но есть нюансик - на этом уровне, программист уже в состоянии без соплей, довольно быстро осваиваться в конкурентной экосистеме (понимая общие основные принципы)
типичные трудности изучения "следующего языка":
- лень
- прокрастинаяция
- увиливание
преимущества  изучения "следующего языка":
- ломка стереотипов и призм "первого языка"
- расширение программистского понимания вне рамок языков
в случае ява после шарпа (как и наоборот) и трудности, и бонусы минимальные. сами языки, ближе к друг другу, чем даже к C/C++, хотя оба их потомки. там больше проблем будет с окружениями и библиотеками - тут уже различия глобальные. вокруг каждого языка, собственная экосистема (.Net/Mono против JVM). при этом, эти экосистемы не пересекаются, и состоят в откровенной конкуренции. это имеет значение, когда уже подростаем до уровня готовности к реальному трудоустройству. но есть нюансик - на этом уровне, программист уже в состоянии без соплей, довольно быстро осваиваться в конкурентной экосистеме (понимая общие основные принципы)