I have recently switched from Netbeans to Eclipse, and Eclipse is finding syntax errors in my Project lot’s of places that Netbeans doesn’t and I cannot figure out why. As far as can tell both IDE’s are set to use java 1.6. An example of this problem would be as follows (which is actually horrible code but I am working with legacy stuff):
Map map;
map = new Hashtable();
... add some stuff to map
int number = 5;
int status = 7;
assertTrue(number == map.get(status));
The above comes back with “Incompatable operand types int and Object” whereas Netbeans does not complain at all. I do not actually following why this doesn’t work (does the int object not get autoboxed to an Integer?) as it works at run time from Netbeans. I am presuming there is a configuration setting somewhere in eclipse?
It looks like autoboxing is disabled. Check that Window->Preferences->Java->Compiler->Errors/Warnings Boxing and unboxing conversion is not set to Error. Also check that Window->Preferences->Java->Installed JRE use JDK\JRE that is at least 1.5.