java-8相关内容

将Integer []转换为int []数组

是否有一种将Integer数组转换为int数组的奇特方法? (我不想迭代每个元素;我正在寻找一种优雅而快速的方式来编写它) 另一种方式我使用 scaleTests.add(Arrays.stream(data).boxed()。toArray(Double [] :: new)); 我正在寻找一条单线但无法找到的东西。 目标是: int [] valuesPrim ..
发布时间:2018-12-04 12:04:10 Java开发

Java 8 Lambda - 两个列表的交集

我正在尝试根据某些条件找到两个列表的交集并执行一些步骤。无法找到办法(在学习阶段):) Double totalAmount = 0.00d; 双倍折扣= 0.00d; List orderLineEntryList = orderEntry.getOrderReleases()。stream() .flatMap(orderRelease ..
发布时间:2018-12-04 12:03:35 Java开发

在Java 8流中按属性排序

哦,那些棘手的Java 8流与lambdas。它们非常强大,但错综复杂需要将一个标题包裹起来。 假设我有一个用户输入属性 User.getName()。假设我有一个与名称相关联的用户 Map 的地图(例如,登录用户名)。让我们进一步说我有一个比较器 UserNameComparator.INSTANCE 的实例来排序用户名(可能还有花哨的整理者等)。 那么如 ..
发布时间:2018-12-04 12:03:01 Java开发

为什么Stream.allMatch()为空流返回true?

我的同事和我有一个错误是由于我们假设调用 allMatch()的空流将返回 false 。 if(myItems.allMatch(i - > i.isValid()){ //做点什么 } 当然,这是假设而不是阅读文档的错误。但是我不明白为什么空流的默认 allMatch()行为返回 true 。是什么推理这个?就像 anyMatch()(相反地返回false)一样, ..
发布时间:2018-12-04 12:01:47 Java开发

如何在Java 8中为变量分配lambda?

只是在Java 8中使用新的lambda和功能,我不知道如何做到这一点。 例如以下内容有效: Map(); map.put(“A”,1); map.put(“B”,2); map.put(“C”,3); map.compute(“A”,(k,v) - > v == null?42:v + 41)); ..
发布时间:2018-12-04 11:53:44 Java开发

通过鉴别器功能对流进行分区

Streams API中缺少的功能之一是“分区依据”转换,例如 Clojure的。假设我想重现Hibernate的 fetch join :我想发出一个SQL SELECT语句来从结果中接收这种对象: class Family { String surname; List成员; } 我发行: SELECT f.name,m.name ..
发布时间:2018-12-04 11:49:46 Java开发

Spring + AspectJ使用aspectj-maven-plugin编织java 8

我正在将我的项目从java 7迁移到java 8,我遇到的问题与使用 aspectj-maven-plugin 的aspectj编织有关。 根据 Haus文档。但问题是我没有找到任何方法来使用(和找到)支持java 8的插件版本7.我看到这里插件7添加了java 8支持,但找不到使用它的方法。 这是配置插件我需要: org.codeha ..
发布时间:2018-12-04 11:49:43 Java开发

在管道中间关闭流

当我执行此代码时,会在流管道中打开大量文件: public static void main(String [] args)抛出IOException { Files.find(Paths.get(”JAVA_DOCS_DIR / docs / api /“), 100,( path,attr) - > path.toString()。endsWith(“。html”)) .map( ..
发布时间:2018-12-04 11:47:54 Java开发

Java Lambda表达式

在Java 8中添加了Lambda表达式。我想理解为什么这很重要。对于尚未接触函数式编程习惯用语的Java程序员来说,这意味着什么?这是否意味着我可以编写性能更好或大规模扩展的代码,或者只是使代码更简洁。或者全部。 解决方案 Oracle已经有教程。它列出了几个很好的用例。 在找到链接之前,我想说lambda表达式允许你将“函数”传递给代码。因此,您可以更轻松地编写代码,以前我们需要 ..
发布时间:2018-11-29 20:52:41 Java开发

深刻理解分裂者的特征

为了尝试深入理解java流和分裂器,我对分裂器特征有一些微妙的问题: Q1 : Stream.empty() vs Stream.of() (没有args的Stream.of() ) Stream.empty(): SUBSIZED,SIZED Stream.of(): SUBSIZED, IMMUTABLE ,SIZED,已订购 为何 Stream.empty()具有 Str ..
发布时间:2018-11-29 20:52:20 Java开发

Iterator与Java的流8

为了利用Jdk 8的 java.util.stream 中包含的各种查询方法,我尝试设计域模型,其中getter与 * multiplicity(零个或多个实例)返回 Stream ,而不是 Iterable< ; T> 或 Iterator 。 我怀疑是否有与 Iterator ? $相比, Stream 产生的任何额外开销b $ b 那么,使用 S ..
发布时间:2018-11-29 20:36:56 Java开发

在Java 8中是否有相当于Scala的Either?

就像 Java 8中的java.util.Optional (有些)相当于Scala的选项[T] 类型,是否相当于Scala的要么[L,R] ? 解决方案 没有要么类型是Java 8,所以你需要自己创建一个或使用一些第三方库。 您可以使用新的可选类型构建此类功能(但请阅读此答案的末尾): 最终类别 { public static要么< ..
发布时间:2018-11-29 20:23:02 Java开发

java 8 ZonedDateTime和OffsetDateTime有什么区别?

我已经阅读了文档,但是当我应该使用其中一个时我仍然无法获得: OffsetDateTime ZonedDateTime 根据文件 OffsetDateTime 应该在将日期写入数据库时​​使用,但我不明白为什么。 解决方案 javadocs这样说: “ OffsetDateTime , ZonedDateTime 和 Instant 都会在时间线上存储一个纳秒级精度。 ..
发布时间:2018-11-29 20:07:28 Java开发

Java 8是否提供了重复值或函数的好方法?

在许多其他语言中,例如。 Haskell,很容易多次重复一个值或函数,例如。获得价值1的8份副本清单: 取8(重复1) 但是我还没有在Java 8中找到它。在Java 8的JDK中是否有这样的功能? 或者相当于一个范围的东西,比如 [1..8] 这似乎是Java中一个冗长语句的明显替代品,如 for(int i = 1; i ..
发布时间:2018-11-29 20:06:51 Java开发

java lambda可以有多个参数吗?

在Java中,是否可以让lambda接受多种不同的类型? 即: 单变量有效: 功能 adder = i - > i + 1; System.out.println(adder.apply(10)); Varargs也有效: 功能 multiAdder = ints - > { int sum = 0; ..
发布时间:2018-11-29 20:06:00 Java开发

如何将Java 8 IntStream转换为List?

我正在查看 IntStream 的文档,我看到 toArray 方法,但没办法直接转到列表 肯定有办法转换流到列表? 解决方案 IntStream.boxed 将 IntStream 转换为 Stream ,然后您可以收集到列表中: theIntStream .boxed()。collect(Collectors.toList()) ..
发布时间:2018-11-29 20:05:49 Java开发