问题标签 [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 投票
1 回答
11403 浏览

java - Findbugs in Eclipse ArrayIndexOutOfBounds 运行时异常

我刚刚在 Eclipse Juno 中安装(并重新安装)Findbugs,每次尝试在我的任何项目中运行它时,我都会收到以下错误:

谷歌搜索没有提供任何有用的结果。有任何想法吗?

编辑:我尝试(并且可能失败)在 Eclipse 中安装 Java 8 的测试版本以试用 Java 8 的 lambda 和其他功能。也许它与 Findbugs 没有正常运行有关?

0 投票
7 回答
26965 浏览

java - Arrays.sort() 和 Arrays.parallelSort() 之间的区别

正在经历这里Java 8提到的功能。无法理解到底是做什么的。有人可以解释和之间的实际区别是什么吗?parallelSort()sort()parallelSort()

0 投票
5 回答
7491 浏览

java - 我在哪里可以获得 Java 8 语言规范?

Oracle 站点上提供了 Java 7 规范,但我在任何地方都找不到 Java 8 规范,尽管 Internet 上可以下载 Java 8 的 beta 版本。

你有什么想法:它已经写好了,在哪里可以下载?如果规范不可用,也许另一个文档可以充当(或接近)规范?

0 投票
3 回答
20034 浏览

java - Java 8:使用 lambda 表达式初始化 HashMap

我正在尝试一次声明和定义更大的哈希映射。我就是这样做的:

但是,当我尝试在 body 中使用 lambda 表达式时put,我遇到了 eclipse 警告/错误。这就是我在 HashMap 中使用 lambda 的方式:

Eclipse 强调了之前以逗号开头的 lambda 的整个部分。错误信息:

有人知道我在做什么错吗?是否允许通过 lambda 表达式进行初始化HashMap?请帮忙。

0 投票
1 回答
236 浏览

styles - 如何使用 JavaFX 8 保留 JavaFX 7 皮肤?

默认情况下,JavaFX 8 引入了新的外观,但我想为我的应用程序保留默认的 JavaFX 7 类型样式(同时使用 Java 8。)

我如何实现这一目标?

0 投票
5 回答
21580 浏览

java - Java 7 和 8 中方法的最大大小

我知道使用 Java 的方法不能大于 64 KB。该限制导致我们从JavaCC语法生成的代码出现问题。我们在使用 Java 6 时遇到了问题,并且能够通过更改语法来解决这个问题。Java 7 的限制是否已更改,还是计划用于 Java 8?

只是为了说清楚。我自己不需要大于 64 KB 的方法。但是我写了一个可以编译成一个非常大的方法的语法。

0 投票
1 回答
1315 浏览

foreach - 旧的与新的 foreach 循环

在什么情况下,我们应该在 JDK 8 中使用旧foreach循环而不是新循环,collection.forEach()或者最好的做法是转换每个 foreach循环?是否有任何重要的性能差异?

我能想到的唯一情况是,如果您想遍历数组并且不想先将数组转换为列表。

0 投票
3 回答
1240 浏览

java - 为两个或多个方法实现匿名类

这是来自Oracle 的一篇关于我正在阅读的匿名类的文章:

如果您必须实现包含两个或多个方法的接口,则匿名类是理想的

如果你必须实现少于两个的方法,我认为这是理想的,因为你不需要创建更具体的命名类,但是如果你必须实现两个以上的方法将更加不可读。

我的问题是:为什么使用 2 个或更多方法实现匿名类是理想的?

0 投票
1 回答
53 浏览

events - Java需要建议

我正在设计一个小型库,有时我写了几行,感觉不对,所以我想得到一个实验过的 java 程序员的意见/建议。

我有一个处理 3 个不同事件的侦听器,在我的一个班级中,我实现了实际触发事件的方法

所以我一开始做的是这样的:

但是这段代码感觉不对,因为如果有人想实现自己的事件,他们基本上需要访问整个侦听器数组列表(CopyOnWriteArraylist)并一次又一次地编写逻辑。

所以我选择的是一个带有单一方法“fire”的 Fireable 接口。这就是我所做的:

我想听听你的意见,我个人认为它比第一个实现更好,即使仍然有很多样板代码。也许有更好的方法来做到这一点?我查看了 java.awt.events 包源代码以了解它们如何处理多个事件以及它们如何触发它们,但这对于我的需求来说似乎太复杂了。

我还想知道的一件事是关于 Java 8 中的 lambda 表达式,如果我在不导入任何 Java 8 包的情况下使用它们并进行编译,它会在 JRE7 上工作吗?

最终使用 JDK8 使我的代码更干净可能会很棒。

谢谢你的帮助 !

0 投票
2 回答
13220 浏览

java - Java 8 中的新日期和时间 API

页面上,我阅读了以下内容:

用日期进行计算也很容易。与 Java < 1.8 的当前情况相比,可能是最好的改进:

我没有清楚地看到版本 < 1.8 之前的优势。

也许有人可以给我一个例子?Atm 我在问自己,新的日期和时间 API 的改进来自哪里。