Questions tagged «java-8»

对于2014年3月18日发行的Java平台的第8版(内部版本1.8)特定于Java 8的问题,请使用此标记。在大多数情况下,您还应该指定java标记。

3
接口中定义的方法的“默认”实现是什么?
在集合接口中,我找到了一个名为的方法removeIf(),其中包含其实现。 default boolean removeIf(Predicate<? super E> filter) { Objects.requireNonNull(filter); boolean removed = false; final Iterator<E> each = iterator(); while (each.hasNext()) { if (filter.test(each.next())) { each.remove(); removed = true; } } return removed; } 我想知道是否可以在接口中定义方法主体吗? 什么是default关键词,它是如何工作的?
91 java  interface  java-8 

27
注册表项错误:Java版本的值为'1.8',但必须为'1.7'
在跑步的时候 sencha app build production 我收到以下错误: 错误:注册表项'Software \ JavaSoft \ Java Runtime Environment'\ CurrentVersion' 的值为“ 1.8”,但必须为“ 1.7”。错误:找不到java.dll错误:找不到Java SE运行时环境。 java -version ,命令显示如下: Java版本“ 1.8.0_40” Java™SE运行时环境(内部版本1.8.0_40-b26)Java HotSpot(TM)64位服务器VM(内部版本25.40-b25,混合模式) 找不到路径出问题的地方。任何想法? -----------------------编辑-------------------------- ---------------------- 注意:我正在使用Windows 7(64位)。 我尝试卸载sencha touch cmd并重新安装。但是还是一样的错误。 我已经卸载了所有的Java版本实例并重新安装了最新的实例,但是问题仍然存在。


7
Java 8中findAny()和findFirst()之间的区别
Наэтотвопросестьответына堆栈溢出нарусском:Какиеразличиямежду的FindFirstивfindAny的Java 8? 我对Java 8中的 APIStream#findAny()和一点都不感到困惑。Stream#findFirst()Stream 我了解到的是,例如当与filter一起使用时,两者都会从流中返回第一个匹配的元素? 那么,为什么要用两种方法完成同一任务?我想念什么吗?

8
在Java 8中按多个字段名称分组
我找到了通过POJO中的某些字段名称对对象进行分组的代码。以下是该代码: public class Temp { static class Person { private String name; private int age; private long salary; Person(String name, int age, long salary) { this.name = name; this.age = age; this.salary = salary; } @Override public String toString() { return String.format("Person{name='%s', age=%d, salary=%d}", name, age, salary); } } public …
90 java  java-8 

6
是否可以在<24的Android API上使用Java 8 Stream API?
我在这里读了这篇文章。但是我仍然无法在minSdkVersion &lt;24上运行包含以下Java 8 Stream API功能的代码。 List&lt;Car&gt; newCars = cars.stream() .filter(s -&gt; s.getColor().equals("red")) .collect(Collectors.toList()); 由于错误消息,此命令无法运行 调用需要API级别24(当前最小值为15):java.util.Collection#stream 那么有人知道解决方案吗?

5
如果findFirst()找到的第一个元素为null,为什么会抛出NullPointerException?
为什么这样抛出java.lang.NullPointerException? List&lt;String&gt; strings = new ArrayList&lt;&gt;(); strings.add(null); strings.add("test"); String firstString = strings.stream() .findFirst() // Exception thrown here .orElse("StringWhenListIsEmpty"); //.orElse(null); // Changing the `orElse()` to avoid ambiguity 中的第一项strings是null,这是一个完全可以接受的值。此外,findFirst()返回Optional,这对于findFirst()能够处理nulls更有意义。 编辑:更新了orElse()以减少歧义。

5
我们应该如何管理jdk8流中的空值
Java开发人员大家好, 我知道这个主题可能有点,in advance因为JDK8尚未发布(无论如何现在还没有。),但是我正在阅读一些有关Lambda表达式的文章,尤其是与与称为Stream的新集合API相关的部分。 这是《Java杂志》文章中给出的示例(这是一种水獭种群算法。): Set&lt;Otter&gt; otters = getOtters(); System.out.println(otters.stream() .filter(o -&gt; !o.isWild()) .map(o -&gt; o.getKeeper()) .filter(k -&gt; k.isFemale()) .into(new ArrayList&lt;&gt;()) .size()); 我的问题是,如果在Set内部迭代的中间,水獭之一为null,会发生什么情况? 我希望抛出NullPointerException,但也许我还是停留在以前的开发范例(非功能性)中,有人可以启发我,因为应该如何处理? 如果这确实引发了NullPointerException,则我认为该功能非常危险,必须仅按以下方式使用: 开发人员确保没有null值(也许使用以前的.filter(o-&gt; o!= null)) 开发人员确保应用程序永远不会生成空水獭或特殊的NullOtter对象来处理。 最佳选择是什么,或其他任何选择? 谢谢!

4
不带“ isPresent()”检查的“ Optional.get()”
我在Java中有以下搜索代码: return getTableViewController().getMe().getColumns().stream().filter($-&gt;Database.equalsColumnName($.getId(), columnId)).findFirst().get(); 我希望按名称查找列并返回找到的第一个。 我了解在某些情况下什么也找不到,应该对其进行处理,但是如何处理呢? 这是这个咒骂所要的: 'Optional.get()' without 'isPresent()' check ? 怎么修?null如果没有发现,我希望返回。 更新 好吧,好吧,我只是没有意识到,那又findFirst()回来了Optional。

12
Java 8 Lambda从列表中获取和删除元素
鉴于元素的列表,我想用一个给定的属性来获取元素,并从列表中删除。我发现的最佳解决方案是: ProducerDTO p = producersProcedureActive .stream() .filter(producer -&gt; producer.getPod().equals(pod)) .findFirst() .get(); producersProcedureActive.remove(p); 是否可以在lambda表达式中组合get和remove?

5
Java 1.8 ASM ClassReader无法解析类文件-可能是由于尚不支持新的Java类文件版本
我的Web应用程序在JDK 1.7上运行良好,但在1.8下崩溃,但出现以下异常(在使用Jetty 8启动应用程序服务器期间)。我正在使用Spring版本:3.2.5.RELEASE。 例外: org.springframework.core.NestedIOException: ASM ClassReader failed to parse class file - probably due to a new Java class file version that isn't supported yet 我认为该问题是由于spring和依赖它的“ asm.jar”库而发生的。 我该如何解决?
87 java  spring  java-8 


14
Java 8,流查找重复元素
我试图列出整数列表中的重复元素,例如 List&lt;Integer&gt; numbers = Arrays.asList(new Integer[]{1,2,1,3,4,4}); 使用jdk 8的流。有人尝试过吗?要删除重复项,我们可以使用distinct()api。但是,找到重复的元素呢?有人可以帮我吗?

5
java.util.Objects.isNull vs对象== null
如你所知,java.util.Objects是 此类包含用于对对象进行操作的静态实用程序方法。 此类方法之一是Objects.isNull()。 我的理解是,Objects.isNull()通过省略第二个,可以消除意外地为对象分配空值的可能性=。 但是,API注释指出: 存在此方法用作谓词filter(Objects :: isNull) 会不会有任何理由/环境对我应该使用object == null了Objects.isNull()在if语句? 应该Objects.isNull()只限于谓词吗?
87 java  java-8  compare 

3
为什么在静态初始化程序中使用lambda进行并行流会导致死锁?
我遇到了一个奇怪的情况,在静态初始化程序中使用带有lambda的并行流似乎永远没有CPU使用率。这是代码: class Deadlock { static { IntStream.range(0, 10000).parallel().map(i -&gt; i).count(); System.out.println("done"); } public static void main(final String[] args) {} } 这似乎是此行为的最小再现测试用例。如果我: 将块放入main方法而不是静态初始化程序中, 删除并行化,或 删除lambda, 代码立即完成。谁能解释这种行为?它是错误还是故意的? 我正在使用1.8.0_66-内部的OpenJDK版本。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.