当前位置: 首页 > 知识库问答 >
问题:

如果我使用1.8[duplicate],为什么源代码是1.6

翟承志
2023-03-14

就像在标题中一样,我试图编译lambda,我使用的是1.8jdk,但我不知道。

证明我真的得到了1.8分:

第1部分:

任何想法为什么我有这样的问题,lambda看起来像这样,但我肯定它的罚款,因为我做的代码从一个教程。

public Topic getTopic(final String id){
    topics.stream().filter(t -> t.getId().equals(id)).findFirst().get();
}

我试图找到解决办法,但真的失败了,这就是我为什么在这里写作的原因。对不起,我的英语不好:)

共有1个答案

陆雨华
2023-03-14

您使用的是Java8JDK,但项目的语言源代码级别仍然设置为Java6(可能是为了兼容性)。因此,jdk8javac是在java6的兼容模式下调用的,这会导致它拒绝您的代码,因为它使用了java8特性。您可能希望在项目的设置或pom中修复语言级别。xml,然后重新编译。

您可以编辑您的pom.xml来解决这个问题。有关如何做到这一点的详细信息,请参阅Maven文档,但您可能需要这样做:

<properties>
  <maven.compiler.source>1.8</maven.compiler.source>
  <maven.compiler.target>1.8</maven.compiler.target>
</properties>

 类似资料:
  • 问题内容: 如果您打开Python解释器,然后输入“ import this”,您将知道: 提姆·彼得斯(Tim Peters)撰写的《 Python之禅》 美丽胜于丑陋。 显式胜于隐式。 简单胜于复杂。 复杂胜于复杂。 扁平比嵌套更好。 稀疏胜于密集。 可读性很重要。 特殊情况不足以违反规则。 尽管实用性胜过纯度。 错误绝不能默默传递。 除非明确地保持沉默。 面对模棱两可的想法,拒绝猜测的诱惑。

  • 我正在使用Maven和Java Spark构建一个简单的WebService。 pom.xml文件: 当我尝试运行时,我的错误是: 短语使我认为我使用的java版本有问题。以前,我得到了相同的错误,但使用的是,因此我将$JAVA_HOME更改为。这是应该的吗?我的一个同事同意我的观点,即-源应该是1.8。

  • 问题内容: 我正在阅读Java JDBC规范(版本4),并且遇到了以下语句: DataSource-此接口在JDBC 2.0可选软件包API中引入。它优于DriverManager,因为它允许有关基础数据源的详细信息对应用程序透明 我想了解的是a 和a 之间的区别以及它为什么存在。我的意思是,上面的代码块说关于数据源的详细信息对于应用程序是透明的,但是是否不会在属性文件中外部化数据库属性(例如用户

  • 我试图理解的是和之间的区别,以及它存在的原因。我的意思是,上面的块表明关于数据源的细节对应用程序是透明的,但是在属性文件中外部化数据库属性如用户名、密码、url等,然后使用DriverManager是否会以同样的方式工作? 创建接口是否只是为了有一种返回可以池化的连接的通用方式?在Java EE中,应用程序服务器是否实现了这个接口,并且部署的应用程序是否具有对数据源的引用而不是连接?

  • 问题内容: 我碰到了/usr/include/linux/kernel.h中的这个奇怪的宏代码: 怎么办? 问题答案: 实际上,这是 一种检查表达式e是否可以评估为0的方法,如果不能,则使build失败 。 该宏的名称有些错误;它应该更像是,而不是。( 偶尔会讨论这个名称是否令人困惑 。) 您应该这样阅读表达式: :计算表达式。 :逻辑上取反两次:if ; 否则。 :数控否定表达来自步骤2:如果它

  • 问题内容: 使用动态代理的用例是什么? 它们与字节码生成和反射有何关系? 有什么推荐的读物吗? 问题答案: 我强烈推荐此资源。 首先,您必须了解什么是代理模式用例。请记住,代理的主要目的是控制对目标对象的访问,而不是增强目标对象的功能。访问控制包括同步,身份验证,远程访问(RPC),惰性实例化(休眠,Mybatis),AOP(事务)。 与静态代理相反,动态代理生成在运行时需要Java反射的字节码。