Java and C# look syntactically similar, and pretty much anything you do in Java translates 1:1 into C#. (can't think of anything that doesn't involve API differences)
The opposite is far from true though, since VB and C# are a lot richer languages than Java (in terms of type system and language constructs, not API availability). Translating from C# into Java is tricky and often require a lot of re-engineering, like adding explicit declarations and expanding functional features into additional interfaces and classes, and working around all of the issues with Java generics.
Scala on the JVM is a lot closer to C# with the type inference, proper generics and functional features being much more comparable. It's a really nice language, worth looking into
The opposite is far from true though, since VB and C# are a lot richer languages than Java (in terms of type system and language constructs, not API availability). Translating from C# into Java is tricky and often require a lot of re-engineering, like adding explicit declarations and expanding functional features into additional interfaces and classes, and working around all of the issues with Java generics.
Scala on the JVM is a lot closer to C# with the type inference, proper generics and functional features being much more comparable. It's a really nice language, worth looking into
