Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java IntelliJ和Eclipse之间的编译器差异_Java_Eclipse_Intellij Idea - Fatal编程技术网

Java IntelliJ和Eclipse之间的编译器差异

Java IntelliJ和Eclipse之间的编译器差异,java,eclipse,intellij-idea,Java,Eclipse,Intellij Idea,我有一个类似下面的类。此类在Eclipse build 20090920-1017上编译良好: public class MyScheduledExecutor implements ScheduledExecutorService { ... public <T> List<Future<T>> invokeAll(Collection<Callable<T>> tasks, long timeout, TimeU

我有一个类似下面的类。此类在Eclipse build 20090920-1017上编译良好:

public class MyScheduledExecutor implements ScheduledExecutorService {

    ...

    public <T> List<Future<T>> invokeAll(Collection<Callable<T>> tasks, long timeout, TimeUnit unit) throws InterruptedException {
        ...
    }


    public <T> List<Future<T>> invokeAll(Collection<Callable<T>> tasks) throws InterruptedException {
        ...
    }


    public <T> T invokeAny(Collection<Callable<T>> tasks, long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException {
        ...
    }


    public <T> T invokeAny(Collection<Callable<T>> tasks) throws InterruptedException, ExecutionException {
        ...
    }

    ...

}
公共类MyScheduleXecutor实现ScheduleXecutorService{
...
公共列表invokeAll(收集任务、长超时、时间单位)引发InterruptedException{
...
}
公共列表invokeAll(收集任务)引发InterruptedException{
...
}
公共T invokeAny(收集任务、长超时、时间单位)引发InterruptedException、ExecutionException、TimeoutException{
...
}
公共T invokeAny(收集任务)抛出InterruptedException、ExecutionException{
...
}
...
}
然而,如果我试图用IntelliJ9编译,我会得到一个编译错误。如果我在Java 6中将所有对
的引用替换为
,它将仅在IntelliJ中编译,声明了以下方法(例如):

我没有安装Java 5,也无法用Eclipse Java EE Galileo 20090920-1017重现错误(我在Ubuntu下,sun-java5-jdk已从Karmic的存储库中删除,我懒得手动安装),但事实上,我认为Eclipse是正确的

您确定您在IntelliJ IDEA中使用的是JDK 5(而不是符合1.5级标准的JDK 6)?在Java 6中,声明了以下方法(例如):

我没有安装Java 5,也无法用Eclipse Java EE Galileo 20090920-1017重现错误(我在Ubuntu下,sun-java5-jdk已从Karmic的存储库中删除,我懒得手动安装),但事实上,我认为Eclipse是正确的


你确定你在IntelliJ IDEA中使用的是JDK 5吗(而不是符合1.5级法规的JDK 6)?

这很烦人。我肯定选择了1.5,但在MacOSXSnowLeopard上,JDK1.5实际上是文件系统上1.6的符号链接。即使指定IntelliJ自己的1.5JDK而不是system JDK,最终也会使用system 1.6JDK。Harumph.为了子孙后代,我能够按照此链接上的说明在雪豹10.6.2上安装Java 1.5(替换最新版本的Java 1.5,在本文撰写时更新5):我理解你的痛苦,而且看起来苹果应该为这个肮脏的符号链接负责。难道你不能在雪豹上安装一个真正的JDK1.5吗?那真烦人。我肯定选择了1.5,但在MacOSXSnowLeopard上,JDK1.5实际上是文件系统上1.6的符号链接。即使指定IntelliJ自己的1.5JDK而不是system JDK,最终也会使用system 1.6JDK。Harumph.为了子孙后代,我能够按照此链接上的说明在雪豹10.6.2上安装Java 1.5(替换最新版本的Java 1.5,在本文撰写时更新5):我理解你的痛苦,而且看起来苹果应该为这个肮脏的符号链接负责。你不能在雪豹上安装一个真正的JDK1.5吗?
    public <T> T invokeAny(Collection<? extends Callable<T>> tasks) throws InterruptedException, ExecutionException {
        ...
    }
Name clash: The method invokeAll(Collection<? extends Callable<T>>) of type 
SingleScheduledExecutor has the same erasure as invokeAll(Collection<Callable<T>>) of
type ExecutorService but does not override it
<T> T invokeAny(Collection<? extends Callable<T>> tasks)
            throws InterruptedException,
                   ExecutionException
<T> T invokeAny(Collection<Callable<T>> tasks)
            throws InterruptedException,
                   ExecutionException