Different developers use differnt IDE in my team. One Intellij Idea user wrote code like this
public class Bar<A> extends AbstractSet<Bar.Inner> { class Inner { } @Override public Iterator<Inner> iterator() { return null; } @Override public int size() { return 0; } } Other one (eclipse user) said that it compiles only with replacement
public Iterator<Inner> iterator() { to
public Iterator<Bar.Inner> iterator() { or
extends AbstractSet<Bar.Inner> to
extends AbstractSet<Bar<A>.Inner> extends AbstractSet<Bar<?>.Inner>//other variant What is right compiler's behaviour? Where I can get list of such issues?
additional info
eclipse:
- version: Helios Service Release 1
- build: 20100917-0705
- jdk: 1.6.0_23 (instaled on computer)
idea:
- version: 10.0.2
- build: 103.72
- jdk: 1.6.0_21 (by Help -> About)
UPD It's my fail. Idea reports about it but only at application building. But, I think, it's Idea's bug too.
Window > Preferences > Java > Installed JREssee if points to right JDK directory i.e. 1.6.0_23 ? Also see if their compiler level is set to the right version i.e. 1.6. In Eclipse it can be seen fromWindow > Preferences > Java > compiler. 1.6.0_23 vs 1.6.0_21 should not have this much change. IDE may not necessarily use the installed JDK.