我是靠谱客的博主 轻松招牌,最近开发中收集的这篇文章主要介绍java8如何兼容java7_尽管使用Java 8功能,项目如何支持Java 7,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

这不是一个错误(正如我自己想的那样).该项目确实使用来自Java 8的类.它不使用Java 7进行编译,并且其Maven构建也不能与Java 7一起运行.

但是,由于Lambda中特定于Java 8的特性在源代码中没有使用,因此它确实与Java 7一起运行.

尝试创建Java 7项目,将HikariCP声明为依赖项,并运行以下代码:

import com.zaxxer.hikari.util.FastList;

public class Main {

public static void main(String[] args) {

FastList fastList = new FastList<>(String.class);

fastList.add("Hello");

System.out.println(fastList);

}

}

它运行成功.另一方面,以下代码失败:

fastList.removeIf(null);

这是因为removeIf()和其他一些方法使用Java 8中的类,因此无法使用Java 7运行.但是它们都会抛出UnsupportedOperationException!您可能会注意到,导入Java 8类的唯一类是com.zaxxer.hikari.util.FastList.我不确定他们为什么这样做.

更新:只是想澄清项目字节码的版本是1.7,因为可以使用反编译器或hexdump轻松验证.它的源代码符合Java 7,因此可以构建

1.7

1.7

正如@Puce指出的那样.

另一方面,它必须使用JDK 1.8进行编译,以便在编译期间源代码中引用的Java 8类可用.编译代码后,只要没有尝试加载缺少的Java 8类(在本例中来自java.util.function包),就可以使用Java 7运行代码.

最后

以上就是轻松招牌为你收集整理的java8如何兼容java7_尽管使用Java 8功能,项目如何支持Java 7的全部内容,希望文章能够帮你解决java8如何兼容java7_尽管使用Java 8功能,项目如何支持Java 7所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部