Extremely responsive, personalized customer support
Easy to use
Produces helpful notes, warnings, and 'to do' comments
Excellent learning tool for those new to C# from a Java background
The Most Comprehensive Converter
Excellent conversion of Java syntax
Numerous conversion and formatting options
Converts Java functional interfaces to C# delegates
Converts Java anonymous inner classes to C#
Allows custom replacement of strings in the final converted code
Accurate even with poorly formatted Java code
Q: Are the original Java files altered in any way?
Your existing code is left completely intact. The new
C# files are written to the new location that you specify.
Q: What is the conversion accuracy?
Our accuracy is the highest in the industry,
but there will be significant adjustments required for all but the simplest
conversions. There are no direct equivalents in C# for some aspects of Java.
Read the rest of the FAQ to get an idea of a few things that are not converted.
Java to C# Converter is intended to reduce the amount of work you'll have to do
to convert code to C#, but it is just the first step.
Q: How are anonymous inner classes handled?
Anonymous inner classes are converted to C# nested private classes, but if the
interface is a functional interface, then the interface is converted to a delegate
and the anonymous inner class is converted to a lambda.
Q: Are Java functional interfaces converted?
Yes - try out our Free Edition to see the conversion details. We
optionally convert Java functional interfaces to C# delegates.
Q: What are the most common adjustments necessary after conversion?
Most Java platform or library function calls are not converted. However,
we do convert a subset of the Java string, keyboard I/O, math,
and utility function calls. Also, many Java container
classes are converted to .NET container classes.
Java's event handling model has no direct equivalent in C#.
Java wildcard generics have no equivalent in C#, unless used in a method declaration parameter list.
Java value-specific class bodies for enum values are not converted.
Java local classes cannot be declared within methods in C#.
These are marked with a comment.