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

intellij-idea - 在 IntelliJ 中运行 Java 8 TestNG 的问题

我正在使用 OpenJDK 1.8 编写一个 Maven 应用程序并使用 TestNG 运行测试。

当我从命令行运行 Maven 时,一切正常,但是当我尝试在 IntelliJ 中运行测试时,make 过程显示以下错误:

我有指向 1.8 JDK 和项目语言级别 8 的项目设置。

在 Maven 中,我有以下块(我猜它还没有被调用,因为它似乎是导致问题的原因)

我什至将 Maven Runner JRE 配置为指向 1.8 JDK。

我似乎无法让 IntelliJ 12.0.4 正确运行测试

我错过了什么吗?

0 投票
2 回答
3130 浏览

java - 非空参数的方法引用?

我正在阅读有关Java 8 特性的信息,并且看到它们具有方法引用,但我没有看到在方法重载时如何指定哪个方法。有人知道吗?

0 投票
2 回答
24263 浏览

gwt - GWT 中的 Java 8 支持

这似乎是一个非常基本的问题,但我搜索了高低,发现几乎没有任何地方提到它。所以,我会在这里问它。

在 GWT 中支持 Java 8 的新语言结构的当前计划是什么?

此外,提议的 Java 8 库的哪个子集计划用于客户端仿真?流 API?新的日期/时间 API?

最后,关于这个重要话题的讨论在哪里进行?我敢肯定,我们当中有很多人愿意参与并可能为这项工作做出贡献。

Java 8 beta 已经存在了一段时间,并且有很多文章讨论了提议的 API。它应该会在今年晚些时候推出,因此至少应该讨论一下非常需要的语言功能如何以及何时进入 GWT 似乎已经过去了。

如果这个问题在其他地方得到回答,或者我错过了一些与之相关的重要信息,我深表歉意。这将是一个链接到此类信息的好地方,即使它已被回答。谢谢!

0 投票
1 回答
2797 浏览

java - JDK8批量收集操作库中奇怪的“减少”方法组

为什么新的JDK8Stream类只包含以下reduce方法:

但不是一个明显的方法,它对应于reduce/fold其他语言(例如 Haskell foldl :: (a -> b -> a) -> a -> [b] -> a)中的函数,可能看起来像这样:

?

相反,有一个类似的方法,它有一个额外的combiner参数。我什至不知道如何使用它,因为我上面链接的 API 文档在示例中没有使用这个参数,它只提到了它所需的属性。

为什么 JDK8 方法是这样的,我如何fold用它们模拟标准行为?

0 投票
1 回答
215 浏览

java - Java 8 M7 - 何时何地?

有谁知道 Java 8 的 M7(开发者预览版)何时何地登陆?

我在看这里:

http://openjdk.java.net/projects/jdk8/milestones

http://jdk8.java.net/download.html

我读过:

http://mail.openjdk.java.net/pipermail/jdk8-dev/2013-February/002066.html

但这一切都像泥巴一样清晰。我追求的是 Nashorn(我很懒,所以不想从源代码编译)。

0 投票
18 回答
201762 浏览

java - 当 Javadoc 标记不完整时,Maven 无法在 Java 8 中运行

由于我使用 Maven,我已经能够在我的本地存储库中构建和安装具有不完整 Javadoc 标记(例如,缺少参数)的项目。

但是,由于我迁移到 Java 8 (1.8.0-ea-b90),当我尝试构建或安装一个没有 Javadoc 的项目时,Maven 对缺少文档标签非常严格,并且会向我显示许多与 Javadoc 问题相关的 Javadoc 错误“完美的”。我尝试在本地存储库中编译和安装的一些项目是我无法控制的第三方项目。因此,在我的场景中,仅修复所有这些项目中的所有 Javadocs 的解决方法似乎并不可行。

这是我在项目中执行时看到的一小部分输出mvn clean package install

Javadoc Maven 插件在我的 POM 中是这样配置的:

正如我之前所说,如果我回到 Java 7,一切都会正常工作。也许这是与在 Java 8 中运行的 Maven 相关的错误?我如何使用 Java 8 使其工作(即,能够构建项目的 Javadoc 并将其代码安装在我的本地存储库中)?我已经在 OSX 中测试了 Maven 3.0.3 和 3.0.5。

更新:

<failOnError>false</failOnError>如果我用(感谢 Martin)更改我的 Javadoc 插件配置:

然后该项目安装在我的本地存储库中。但是,仍然没有生成 Javadoc JAR。

我在控制台中看到的带有这个新配置的输出片段是:

[错误] MavenReportException:创建存档时出错:退出代码:1 - /Users/....java:18:警告:没有@param ...命令行是:/Library/Java/Home/bin/javadoc @options @packages

请参阅“/Users/sergioc/Documents/workspaces/heal/minitoolbox/target/apidocs”目录中生成的 Javadoc 文件。

在 org.apache.maven.plugin.javadoc.AbstractJavadocMojo.executeJavadocCommandLine(AbstractJavadocMojo.java:5043) 在 org.apache.maven.plugin.javadoc.AbstractJavadocMojo.executeReport(AbstractJavadocMojo.java:1990) 在 org.apache.maven.plugin .javadoc.JavadocJar.execute(JavadocJar.java:181) 在 org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) 在 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java :209) 在 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 在 org.apache. org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)。 maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) 在 org.apache.maven.lifecycle.internal.LifecycleModuleBuilder。buildProject(LifecycleModuleBuilder.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)在 org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) 在 org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) 在 org.apache.maven.cli.MavenCli.execute(MavenCli.java :537) 在 org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) 在 org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 在 sun.reflect.NativeMethodAccessorImpl.invoke0( Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method。在 org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 的 org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 调用(Method.java:491)在 org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) 在 org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)

关于如何在使用 Java 7 时一步构建源代码、安装项目和生成 Javadoc JAR 的任何解决方法?

0 投票
2 回答
19993 浏览

java - 如何在 Joda Time / Java 8 中列出时区偏移量、时区 ID 和长名称?

Joda Time 的时区 id 可以简单地使用以下代码段显示。

但是如何显示相应的时区偏移量、时区 ID 和长名称,以便列表看起来像下面这样?

它们需要在下拉框中列出以供选择。


以下代码段显示了名称,但它显示的偏移量看起来很奇怪。

在它显示的长列表中,其中一些显示为,

偏移量应如此列表中所示。

0 投票
2 回答
1598 浏览

java - JSR 310:时区之间的转换

尝试使用 JSR 310 在时区之间转换毫秒日期时间值。需要处理毫秒值,才能使用旧版 API。就我而言,它介于本地和 UTC/GMT 之间,但我希望它是完全相同的代码,而与所涉及的源时区和目标时区无关。这是我的小测试程序。它被配置为在最后一次本地 DST 更改前后的几个小时内进行迭代。输出是错误的,所以我认为 UTCtoLocalMillis 是错误的,但我的测试方法也可能存在问题。我所说的错误输出的意思是,对于我的时区,应该减去小时以获得 UTC,但代码实际上增加了小时。其次,夏令时的时间点也相差一小时。

我首先获取本地时区,然后将其重置为 UTC,这样 Date().toString() 在创建输出时不会执行任何转换。

我想要的是创建一个以毫秒为单位的方法,一个源 ZoneID 和一个目标 ZoneID,并使用新的 JSR 310 API 返回转换后的毫秒数。

0 投票
5 回答
71481 浏览

java - 可以编译 Java 8 代码以在 Java 7 JVM 上运行吗?

Java 8 引入了重要的新语言特性,例如 lambda 表达式。

语言的这些变化是否伴随着编译后的字节码的重大变化,会阻止它在不使用某些逆向翻译器的情况下在 Java 7 虚拟机上运行?

0 投票
1 回答
727 浏览

jakarta-ee - Java 8 闭包/lambda + Java EE 7 = JPA 中的 LINQ 或类似 Grails 的魔法?

Grails 最酷的事情之一就是你可以做类似的事情

MyDomainObject.findAll { foo == x && (bar == null || bar == y) }

并且闭包被转换为 SQL WHERE 子句。

我认为 C# LINQ 允许与表达式树类似的东西,比如

list.Where(obj => obj.Field == value)

有谁知道 Java 8 和 Java EE 7 是否会在标准 JPA 中包含对类似魔法的支持?