java-8相关内容

Maven + AspectJ 织入 Java8

我不能mvn 包 使用下面的最小样本.Eclipse(Mars.2 Release 4.5.2)编译和编织没有问题. 我需要做什么才能让它发挥作用? 输出: [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @test ---[信息] 检测到更改 - 重新编译模块![警告] 未设置文件编码,使用平台编码 Cp ..
发布时间:2021-11-29 09:22:44 其他开发

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

我正在将我的项目从 java 7 迁移到 java 8,我遇到的问题与使用 aspectj-maven-plugin 的 aspectj 编织有关. 根据 Haus 文档.但问题是我还没有找到任何方法来使用(并找到)支持 java 8 的插件版本 7.我看到了 此处 插件 7 添加了对 java 8 的支持,但找不到使用方法. 这是我需要的配置插件: org.cod ..
发布时间:2021-11-29 09:20:10 Java开发

Java 8:虚拟扩展方法与抽象类

我正在研究 Java 8 接口中新的虚拟扩展方法: 公共接口 MyInterface {默认字符串 myMethod() {返回“我的实现";}} 我明白他们的目的是让接口随着时间的推移而发展,还有多重继承位,但对我来说,他们看起来非常像一个抽象类. 如果您正在做新工作,抽象类比扩展方法更受欢迎,以提供“接口"的实现,或者这两种方法在概念上是否等效? 解决方案 此类构造的一个主要 ..
发布时间:2021-11-26 17:11:04 Java开发

Java 8 默认方法与抽象类中的非抽象方法

Java 8 接口默认方法与抽象类中的非抽象方法- 两者之间有什么区别吗(除了iface的区别-类,可见性等) 默认方法是不是在 Java 中退步了,这意味着它违背了 Java 多年来宣传的本质?! 解决方案 抽象类中的非抽象方法将在其具体子类调用 super() 时被调用,如果它被覆盖.所以有多种可能.如果方法未被覆盖,则将执行超类方法.如果我们在具体的子类方法中使用 super( ..
发布时间:2021-11-26 17:05:21 Java开发

如何将 TimerTask 与 lambdas 一起使用?

如您所愿,您可以在 Java 8 中使用 lambda,例如替换匿名方法. 可以在此处看到 Java 7 与 Java 8 的示例: Runnable runnable = new Runnable() {@覆盖公共无效运行(){检查目录();}}; 在 Java 8 中可以表示为以下两种方式: Runnable runnable = () ->检查目录(); 或 Runnable ..
发布时间:2021-11-26 16:56:56 Java开发

Java 8 中的抽象类和接口之间有什么区别?

在 Java 中,抽象类和接口之间曾经有一个微妙但重要的区别:默认实现.抽象类可以有它们,接口不能.尽管 Java 8 引入了接口的默认实现,这意味着这不再是接口和抽象类之间的关键区别. 那是什么? 据我所知,唯一剩下的区别(除了可能是一些底层效率的东西)是抽象类遵循传统的 Java 单继承,而接口可以具有多重继承(或多重实现,如果你愿意的话)).这让我想到另一个问题 - 新的 ..
发布时间:2021-11-26 16:45:16 Java开发

何时使用:Java 8+ 接口默认方法与抽象方法

Java 8 允许在名为默认方法的接口中默认实现方法. 我很困惑什么时候会使用那种接口默认方法,而不是抽象类(使用抽象方法>). 那么什么时候应该使用带有默认方法的接口,什么时候应该使用抽象类(带有抽象方法)?抽象类在那种情况下仍然有用吗? 解决方案 抽象类比默认方法实现(例如私有状态)还有很多,但是从 Java 8 开始,无论何时您可以选择应该与接口中的防御者(又名.defa ..
发布时间:2021-11-26 16:43:07 Java开发

“功能接口"的精确定义在 Java 8 中

最近我开始探索 Java 8,我不太明白“函数式接口"的概念,它对 Java 的 lambda 表达式的实现至关重要.有一个非常全面的指南,介绍了 Java 中的 lambda 函数,但我陷入了 定义函数式接口概念的章节.定义如下: 更准确地说,函数式接口被定义为任何只有一个抽象方法的接口. 然后他继续示例,其中之一是 Comparator 接口: 公共接口比较器{int比较(T o ..
发布时间:2021-11-26 16:09:17 Java开发

Java 8 流的 .min() 和 .max():为什么要编译?

注意:这个问题来自一个死链接,这是一个以前的 SO 问题,但这里是... 请参阅此代码(注意:我确实知道此代码不会“工作"并且应该使用 Integer::compare —— 我刚刚从链接的问题中提取了它): final ArrayList 列表= IntStream.rangeClosed(1, 20).boxed().collect(Collectors.toList());Syste ..
发布时间:2021-11-25 21:12:41 Java Web开发

Java 8 的 Optional.ifPresent 和 if-not-Present 的功能风格?

在 Java 8 中,如果 Optional 对象存在,我想对它做一些事情,如果它不存在,则做另一件事. if (opt.isPresent()) {System.out.println("找到");} 别的 {System.out.println("未找到");} 不过,这不是一种“功能风格". Optional 有一个 ifPresent() 方法,但我无法链接一个 orElse() ..
发布时间:2021-11-25 21:03:08 Java Web开发

从 Mac 中删除 Java 8 JDK

所以我前段时间安装了 JDK 8 的测试版来查看一些示例.我现在肯定地认为,在版本之间进行更改很容易. 使用 IntelliJ 进行一些 Play 开发.出于某种原因,尽管 IntelliJ 使用 8 进行编译: 我在 Preferences 中将编译器设置为使用 1.6 据说它通过外部构建使用 SBT,但命令行中的 sbt 有效 JAVA_HOME 指向 JDK 6. 如果 ..
发布时间:2021-11-25 20:59:27 Java Web开发

无法解决 android studio 中的符号“java.time.LocalDate"错误

我正在尝试在我的 android 应用程序中使用 java.time.LocalDate,但是如果我尝试导入它,那么 java.time 中的任何类都会在 Android studio 1.1 中给出无法解析的符号错误 我能想到的唯一原因是它不支持 java 8.真的是这样吗? 解决方案 Android API level 26 Android API 级别 26 获得了 ja ..
发布时间:2021-11-25 20:54:38 Java Web开发

年份和基于周的年份之间的区别?

Java 8 的 DateTimeFormatter 类有一个方法,ofPattern(String pattern),它可以让你从 Az, az 的字符串定义格式> 字母.示例没有阐明 y、year-of-era 和 Y、week-based-year.它是什么? 符号含义表示示例------ ------- -------------- -------y 年 2004 年;04Y 以周为基础 ..
发布时间:2021-11-25 20:50:31 Java Web开发

Lambda 这个在 java 中的引用

我想将 匿名类 转换为 lambda 表达式.但是这个匿名类我使用了 this 关键字. 例如,我写了这个简单的 Observer/Observable 模式: import java.util.ArrayList;导入 java.util.Collection;公共静态类 Observable {私人最终收藏通知 = 新的 ArrayList();公共观察(){}public ..
发布时间:2021-11-25 20:49:05 Java Web开发

Java 8 Lambda 上的反射类型推断

我正在尝试使用 Java 8 中的新 Lambda,我正在寻找一种方法来使用对 lambda 类的反射来获取 lambda 函数的返回类型.我对 lambda 实现通用超接口的情况特别感兴趣.在下面的代码示例中,MapFunction 是通用超接口,我正在寻找一种方法来找出绑定到通用参数 T 的类型. 虽然 Java 在编译器之后丢弃了很多泛型类型信息,但泛型超类和泛型超接口的子类(和匿名子 ..
发布时间:2021-11-25 20:35:31 Java Web开发

类已由更新版本的 Java 环境编译

在运行 selenium 脚本时,我在 Eclipse 控制台中收到以下错误消息: 类已由更新版本的 Java 环境(类文件版本 53.0)编译,此版本的 Java Runtime 仅识别版本高达 52.0 的类文件. Java 版本:8 IDE:Eclipse Oxygen Firefox 版本:46 解决方案 这只是版本不匹配.您已使用 Java 版本 9 编译代码,而 ..
发布时间:2021-11-25 20:33:47 Java Web开发

将数组/字符串列表转换为数组/整数列表的 Lambda 表达式

由于 Java 8 带有强大的 lambda 表达式, 我想编写一个函数来将字符串列表/数组转换为整数、浮点数、双精度数等数组/列表. 在普通的Java中,就像 一样简单 for(String str : strList){intList.add(Integer.valueOf(str));} 但是如果给定要转换为整数数组的字符串数组,我如何使用 lambda 实现相同的效果. ..
发布时间:2021-11-25 20:32:51 Java Web开发