java-8相关内容
使用Java-8,我可以轻松地将 String (或任何 CharSequence )视为 IntStream 使用 chars 或 codePoints 方法。 IntStream chars =“Hello world。”。codePoints(); 然后我可以操纵流的内容 IntStream stars = chars.map(c - > c ==''?
..
虽然不耐烦地等待Java 8发布并且在阅读了精彩的'状态来自Brian Goetz的Lambda的文章我注意到功能组合根本没有涉及。 根据上述文章,在Java 8中应该可以使用以下内容: //有课程地址和人员 公共课地址{ private String country; public String getCountry(){ return country; } }
..
如何获取与流中的条件匹配的第一个元素?我试过这个但是没有用 this.stops.stream()。filter(Stop s-> s 。.getStation()的getName()等于(名称))。 该条件不起作用,过滤方法在Stop之外的其他类中调用。 public class Train { private final String name;
..
Java 8之前的Java版本要求本机代码位于共享库中,但我已经阅读过Java 8,可以将静态链接库与JNI一起使用。我搜索过示例但找不到任何示例。 如何将JNI库静态链接到我的java应用程序? 解决方案 Java SE 8规范已更改为支持静态链接,静态链接在JDK中实现。在的System.loadLibrary 。它引用的JNI规范的部分是
..
我最近遇到过Java 8类 StringJoiner 使用分隔符添加String并添加前缀和后缀,但我无法理解这个类的需要,因为它也使用
..
通常情况下,Java源代码已向前兼容。在Java 8之前,据我所知,编译后的类和源都已经与以后的JDK / JVM版本向前兼容。 [更新:这是不正确的,请参阅下面的注释'en en'等。]但是,在Java 8中添加了默认方法后,似乎不再是这种情况。 例如,我一直使用的库具有 java.util.List 的实现,其包括 List排序()。此方法返回已排序列表内容的副本。这个库作为ja
..
我有点困惑。 Oracle称Java 8与Java 7高度兼容(向后)。但是,Java 8程序可以在Java 7上成功运行(SE / EE)的可能性是什么? 如果第一点是真的,Java 8应用程序将会在Java 7服务器支持上部署和执行?例如,Tomcat 8或WildFly? 解决方案 一般来说,没有。 向后兼容性意味着您可以在Java 8运行时运行Java 7程序,而
..
以下代码令人惊讶地成功编译: Consumer p =“”::等于; 这也是: p = s - > “” .equals(一个或多个); 但这是失败的,错误 boolean无法转换为void 符合预期: p = s - >真正; 使用括号修改第二个示例也失败: p = s - > (
..
Stream没有 last()方法: 流< T>流; T last = stream.last(); //没有这样的方法 获得最后一个元素的最优雅和/或最有效的方法是什么(或者null为空流? 解决方案 执行简化返回当前值的缩减: Stream流; T last = stream.reduce((a,b) - > b).orEls
..
我有要并行处理的元素集合。当我使用 List 时,并行性有效。但是,当我使用 Set 时,它不会并行运行。 我写了一个代码示例,显示问题: public static void main(String [] args){ ParallelTest test = new ParallelTest(); 列表 list = Arrays.asList(1,2); 设置
..
如何将多个谓词应用于 java.util.Stream的 filter()方法? 这就是我现在所做的,但我并不喜欢它。我有一个集合的东西,我需要根据过滤器(谓词)的集合来减少事物的数量: Collection things = someGenerator.someMethod(); 列表 filtered = things.parallelStrea
..
我有一个对象列表说 car 。我想基于使用Java 8的一些参数来过滤此列表。但是如果参数是 null ,它会抛出 NullPointerException 。如何过滤掉空值? 当前代码如下 requiredCars = cars.stream()。filter(c - > c.getName()。startsWith(“M”)); 如果 NullPointerE
..
我知道如何从 Y - > “转换”一个简单的Java List Z ,即: List X; 列表 y = x.stream() .map(s - > Integer.parseInt(s)) .collect(Collectors.toList()); 现在我想用Map做基本相同的事情,即: INPUT: { “key1” -
..
当我注意到你现在可以在界面中定义静态和默认方法时,我正在通过接口学习。 public interface interfacesample2 { public static void method(){ System.out.println(“你好,世界”); } public default void menthod3(){ System.out.println(“defa
..
我正在使用JDK-8(x64)。对于 Arrays.sort (primitives)我在Java文档中发现了以下内容: 排序算法是Vladimir Yaroslavskiy,Jon Bentley和Joshua Bloch的Dual-Pivot Quicksort 。 对于 Collections.sort (对象)我发现这个“Timsort”: 此实现是一个稳定的,自适应的,
..
当谈到Javadoc时,你会很快发现JDK8更严格(默认情况下)。 (链接 - 请参阅最后一点) 如果你从来没有生成任何Javadoc那么你当然不会遇到任何问题,但Maven发布过程和可能你的CI构建之类的东西会在他们工作的地方突然失败JDK7很好。任何检查Javadoc工具退出值的东西现在都会失败。与JDK7相比,JDK8 Javadoc在警告方面可能更加冗长,但这不是这里的范围。我们正在
..
在Java 8中,我可以轻松地写: interface Interface1 { default void method1(){ synchronized(this){ // Something } } static void method2(){ synchronized(Interface1.class){ //东西 } } } 我将获得我
..
就像一个小项目一样,我一直试图做一个小东西,读取序列化的lambdas(本地或从FTP)并调用他们的运行函数作为测试的一部分来试验Windows中的文件关联(即打开某些文件类型用某个程序打开它们等等,但无论我尝试什么,它似乎都没有正确反序列化。 lambda声明如此 Runnable r =(Runnable& Serializable)() - > { // blah blah
..
我有以下课程。 class Person { String name; LocalDate生日; 性别; String emailAddress; public int getAge(){ return birthday.until(IsoChronology.INSTANCE.dateNow())。getYears(); } public String
..
在Java中,使用lambda而不是匿名类可以优雅地实现具有单个抽象方法的接口(即SAM类型或功能接口): //具有匿名实现的SAM ActionListener button.addActionListener( new ActionListener(){ public void actionPerformed(Event e){ System.out .println(“按钮
..