java-8相关内容

怎么做功能组合?

虽然不耐烦地等待Java 8发布并且在阅读了精彩的'状态来自Brian Goetz的Lambda的文章我注意到功能组合根本没有涉及。 根据上述文章,在Java 8中应该可以使用以下内容: //有课程地址和人员 公共课地址{ private String country; public String getCountry(){ return country; } } ..
发布时间:2018-11-29 18:43:15 Java开发

获取匹配条件的第一个元素

如何获取与流中的条件匹配的第一个元素?我试过这个但是没有用 this.stops.stream()。filter(Stop s-> s 。.getStation()的getName()等于(名称))。 该条件不起作用,过滤方法在Stop之外的其他类中调用。 public class Train { private final String name; ..
发布时间:2018-11-29 18:36:04 Java开发

将静态库与JNI链接

Java 8之前的Java版本要求本机代码位于共享库中,但我已经阅读过Java 8,可以将静态链接库与JNI一起使用。我搜索过示例但找不到任何示例。 如何将JNI库静态链接到我的java应用程序? 解决方案 Java SE 8规范已更改为支持静态链接,静态链接在JDK中实现。在的System.loadLibrary 。它引用的JNI规范的部分是 ..
发布时间:2018-11-29 18:34:34 Java开发

Java 8默认方法是否会破坏源兼容性?

通常情况下,Java源代码已向前兼容。在Java 8之前,据我所知,编译后的类和源都已经与以后的JDK / JVM版本向前兼容。 [更新:这是不正确的,请参阅下面的注释'en en'等。]但是,在Java 8中添加了默认方法后,似乎不再是这种情况。 例如,我一直使用的库具有 java.util.List 的实现,其包括 List排序()。此方法返回已排序列表内容的副本。这个库作为ja ..
发布时间:2018-11-29 18:30:40 Java开发

用Java 8编写的程序可以在Java 7上运行吗?

我有点困惑。 Oracle称Java 8与Java 7高度兼容(向后)。但是,Java 8程序可以在Java 7上成功运行(SE / EE)的可能性是什么? 如果第一点是真的,Java 8应用程序将会在Java 7服务器支持上部署和执行?例如,Tomcat 8或WildFly? 解决方案 一般来说,没有。 向后兼容性意味着您可以在Java 8运行时运行Java 7程序,而 ..
发布时间:2018-11-28 21:15:33 Java开发

获取流的最后一个元素的最有效方法

Stream没有 last()方法: 流< T>流; T last = stream.last(); //没有这样的方法 获得最后一个元素的最优雅和/或最有效的方法是什么(或者null为空流? 解决方案 执行简化返回当前值的缩减: Stream流; T last = stream.reduce((a,b) - > b).orEls ..
发布时间:2018-11-28 21:08:22 Java开发

接口中静态和默认方法的区别

当我注意到你现在可以在界面中定义静态和默认方法时,我正在通过接口学习。 public interface interfacesample2 { public static void method(){ System.out.println(“你好,世界”); } public default void menthod3(){ System.out.println(“defa ..
发布时间:2018-11-28 20:41:30 Java开发

使用Maven时如何解决更严格的Java 8 Javadoc问题

当谈到Javadoc时,你会很快发现JDK8更严格(默认情况下)。 (链接 - 请参阅最后一点) 如果你从来没有生成任何Javadoc那么你当然不会遇到任何问题,但Maven发布过程和可能你的CI构建之类的东西会在他们工作的地方突然失败JDK7很好。任何检查Javadoc工具退出值的东西现在都会失败。与JDK7相比,JDK8 Javadoc在警告方面可能更加冗长,但这不是这里的范围。我们正在 ..
发布时间:2018-11-28 20:35:27 Java开发

无法反序列化lambda

就像一个小项目一样,我一直试图做一个小东西,读取序列化的lambdas(本地或从FTP)并调用他们的运行函数作为测试的一部分来试验Windows中的文件关联(即打开某些文件类型用某个程序打开它们等等,但无论我尝试什么,它似乎都没有正确反序列化。 lambda声明如此 Runnable r =(Runnable& Serializable)() - > { // blah blah ..
发布时间:2018-11-28 20:21:09 Java开发

具有非SAM接口的lambdas的Java习惯用法

在Java中,使用lambda而不是匿名类可以优雅地实现具有单个抽象方法的接口(即SAM类型或功能接口): //具有匿名实现的SAM ActionListener button.addActionListener( new ActionListener(){ public void actionPerformed(Event e){ System.out .println(“按钮 ..
发布时间:2018-11-28 20:16:20 Java开发