C# has the var keyword. Java has no equivalent.
C# has extension methods. Java has no equivalent.
.NET has LINQ. Java has no equivalent.
C# has the delegate keyword. Java 8 has the @FunctionalInterface annotation for interfaces with a single method
C# allows methods to reflect on type parameters. Java does not due to "type erasure."