【问题标题】:IntStream strange errorIntStream 奇怪的错误
【发布时间】:2014-10-11 04:17:36
【问题描述】:

Java 8 有一个名为IntStream 的新接口。我使用了它的of()静态方法,遇到了一个奇怪的错误:

接口IntStream的这个静态方法只能作为IntStream.of访问

但是正如你在下面的代码中看到的,我使用IntStream.of

import java.util.stream.IntStream;

public class Test {

    public static void main(String[] args) {
        int[] listOfNumbers = {5,4,13,7,7,8,9,10,5,92,11,3,4,2,1};
        System.out.println(IntStream.of(listOfNumbers).sum());
    }

}

此外,如果您检查API,您会看到该方法已以与我使用的类似方式声明。

【问题讨论】:

  • 我不明白这个问题。它说它可以用作 IntStream.of 而您将其用作 IntStream.of
  • 是的;这是一个奇怪的编译错误,似乎没有意义......但无论如何我的代码现在不起作用。
  • 您使用的是什么 IDE?在 Netbeans 中运行良好 - 打印 181。
  • 我在使用 Java 8 的 Eclipse 中以相同的方式访问相同的静态方法后看到了同样的错误。重启 Eclipse 几次后,错误消失了。

标签: java arrays compiler-errors integer java-stream


【解决方案1】:

您需要将项目设置为使用Java 8。例如,如果您使用的是maven,请将以下sn-p放入您的pom中:

 <build>
      <pluginManagement>
           <plugins>
                <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-compiler-plugin</artifactId>
                     <version>3.2</version>
                     <configuration>
                          <source>1.8</source>
                          <target>1.8</target>
                     </configuration>
                </plugin>
           </plugins>
      </pluginManagement>
 </build>

【讨论】:

  • 谢谢,在我的项目中使用 Maven,我没有注意到配置错误。
【解决方案2】:

虽然IntStream.of(int...) 似乎有效,但您更有可能使用Arrays.stream(int[])

public void test() {
    int[] listOfNumbers = {5, 4, 13, 7, 7, 8, 9, 10, 5, 92, 11, 3, 4, 2, 1};
    // Works fine but is really designed for ints instead of int[]s.
    System.out.println(IntStream.of(listOfNumbers).sum());
    // Expected use.
    System.out.println(IntStream.of(5, 4, 13, 7, 7, 8, 9, 10, 5, 92, 11, 3, 4, 2, 1).sum());
    // Probably a better approach for an int[].
    System.out.println(Arrays.stream(listOfNumbers).sum());
}

【讨论】:

  • 谢谢;那是完全有用的;但我不知道为什么第一个代码在我的 Eclipse 中不起作用,而我已经添加了 java 8;
猜你喜欢
  • 2010-11-17
  • 1970-01-01
  • 2012-04-27
  • 2013-10-30
  • 2016-09-18
  • 2012-03-18
  • 2015-05-13
  • 2016-07-14
  • 2013-12-18
相关资源
最近更新 更多