问题标签 [java-8]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
3815 浏览

java - 即将发布的 Java 8 版本中的虚拟扩展方法

当我看到像这样的代码片段时

我有一个问题。我们还没有在 Java 中得到足够的 sh*t 吗?为什么一个人可能需要这个?

0 投票
2 回答
1280 浏览

java - Java 8:它如何能先于 Java 7 的普遍采用

我发现越来越多关于 Java 8 的新闻——然而,Java 7 刚刚在很多地方被采用。例如,在我的工作中,我们仍然使用 Java 6,尽管我们中的一些人拥有 Java 7。

我想知道 - Java 可用版本的限制是什么?我们多久可以期望推出和实施新的 Java 规范。我一直认为 Java 8 会在很远的未来,因为 Java 7 仍在不断发展。

也许有一个很好的(非 tl;dr)官方来源来获取我所缺少的这些细节,如果是这样,请告诉我。

0 投票
1 回答
4638 浏览

java - 在 netbeans 中编译和运行 java8/jdk8 代码 - 无法编译的源代码

在记事本中预览JDK 1.8并从命令行编译文件后,我想我会尝试使用 netbeans 看看会发生什么。

我已成功添加 JDK 1.8 并更改了以下设置:

属性-> 库-> java 平台:JDK 1.8

属性 -> 源 -> 源/二进制格式:JDK 8

当我Clean and build从 netbeans 项目时,它构建成功。并建议使用以下命令执行项目:

javac 1.8.0-ea

要在没有 Ant 的情况下从命令行运行此应用程序,请尝试:

C:\Program Files\Java\jdk1.8.0/bin/java -jar "C:\Java8\JavaBacon\dist\JavaBacon.jar"

它从命令行运行得很好!

但是当我尝试Run这个项目时,我得到以下异常:

它可以构建,但不能运行?

我目前的解决方法是将Java8代码分开Java Class Library并从主项目中调用它,因为它可以构建库。显然,当使用 java8 特性时,你会得到红色的曲线,缺乏智能感知和自动格式化更改->- >但它可以构建!(非常好:D)

但是无法进行Run项目的原因是什么?

更新:

禁用以下设置时异常消失Compile On Save

属性 > 构建 > 编译

http://netbeans.org/bugzilla/show_bug.cgi?id=199293

0 投票
9 回答
94677 浏览

java - 《Java Concurrency In Practice》还有效吗?

实践中的 Java 并发仍然有效吗?我想知道书中描述的想法、概念和实现是否仍然与最新的 Java 版本兼容。

我问是因为最新版本是在 2006 年完成的。

0 投票
2 回答
3364 浏览

netbeans-7 - 无法在 Netbeans 7.1.1+JDK8 (jdk-8-ea-bin-b35) 中编译 lambda

可能重复:
Lambda 表达式在 Java 8 中不起作用?

带有 lambda 的简单、无意义的应用程序:

public static void main(String[] args) { FileFilter java = (File f) -> f.getName().endsWith(".java"); }

将其设置为使用 JDK 8。如果我不尝试使用 lambda,则编译/运行良好。

但是,如果我这样做,我会得到:

将 1 个源文件编译到 ...\JavaApplication1\build\classes ...JavaApplication1\src\javaapplication1\JavaApplication1.java:20:错误:-source 1.8 FileFilter java = (File f) -> f 中不支持 lambda 表达式.getName().endsWith(".java"); (使用 -source 8 或更高版本来启用 lambda 表达式)1 错误

似乎对它应该是源 8 还是源 1.8 感到困惑


现在可以在使用 lambda 特定版本时工作,例如以下运行良好:

0 投票
3 回答
7056 浏览

java - Eclipse 4.2 和 Java 8

我发现这个页面说明 Java 8 对 Juno 的支持被推迟了,但是我找不到更多信息,人们可以期望多久能够在 Eclipse 中编写第一个闭包并使用这些东西变得富有成效。

有人知道我们还要等多久吗?Java7 的特性很快就出现在 3.7 中,这就是为什么推迟这项任务有点奇怪。

有什么意见、想法吗?或者甚至是一个很好的解决方法?

0 投票
2 回答
286 浏览

java - OpenJDK 项目的有效 RSS 更改在哪里?

我想通过 RSS 收到有关 JDK 项目的最新更改的通知,例如 lambda 项目。http://hg.openjdk.java.net/lambda/lambda/jdk/rss-log似乎不是有效的 RSS 输出,那么 OpenJDK 项目的有效 RSS 在哪里?

0 投票
8 回答
5085 浏览

java - 为什么比较器声明等于?

Comparator 接口有自己的equals()方法。默认情况下,任何类都将equals()通过 Object 类获得。equals()接口内部需要有什么方法?

0 投票
4 回答
11852 浏览

java - Java 8 lambda 语法中的大括号何时是可选的?

我意识到 Java 8 lambda 实现可能会发生变化,但在 lambda build b39 中,我发现只有当 lambda 表达式返回非 void 类型时才能省略大括号。例如,这编译:

但是像这样删除大括号:

给出错误

谁能解释这里发生了什么?

0 投票
2 回答
17157 浏览

java - Lambda 表达式在 Java 8 中不起作用?

我有一台运行 Windows XP SP3 32 位的虚拟机。在这台机器上,我从这里安装了 Java SE JDK 8 build b44 Developer Preview 。

我还安装了 JavaFX 2.1 SDK。

它工作正常:

我尝试运行以下程序(取自此处):

该程序按预期编译并运行。

我按照那篇文章中的说明将按钮事件处理代码替换为:

编译时,我收到以下错误(在线button.setOnAction((ActionEvent event)->):

我添加了论点-source 8,没有任何改变。

我只想检查 Java 8 中的 lambda 表达式功能。为什么它不起作用?