问题标签 [java-10]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
144 浏览

java - Java 10 'var' 将产生一个没有完全重建的错误

请参考以下示例。

==== 之前 ====

---- A.java ---

--- B.java

==== 之后 ====

---- A.java ---

--- B.java

尽管 A.java 发生了变化,但 B.java 源文件没有变化。B.class 文件的信息有 'userAccounts' 变量类型是 'OldUserAccounts' 不是吗?如果我将修改后的源文件应用于真实服务器。'var' 会产生错误吗?

注意: 我知道这是一种不好的做法,即使没有 var 更改也可能是字节码不兼容的。就我而言,重建整个项目的想法并不好。成本太高

任何想法或解决方法?

0 投票
2 回答
823 浏览

java - 为什么直接将 Arrays.asList() 分配给 var 时会出现 AssertionError?

我试图理解Java 10 中的局部变量类型推断

  1. 下面的代码在编译和运行时完美运行:

    /li>
  2. 但是,此行会引发编译错误:

    Error:java: java.lang.AssertionError: Unexpected intersection type: java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>>

我真的不明白为什么第二种情况是错误的,但不是第一种情况。因为我希望编译器会推断出list1和对待list2的类型list3相同。提前致谢。

0 投票
2 回答
1651 浏览

java - 在 IDEA 中将显式类型转换为 var

我有一个包含以下代码的 Java 10 项目:

当我将光标放在Map...并按下Alt+Enter时,应该有一个选项“将显式类型替换为var”。但是,我的菜单中缺少此选项。

如何启用此选项?我应该清理一些缓存还是什么?

我正在使用 IDEA 2018.1.1 EAP。

0 投票
7 回答
6106 浏览

java - 为什么不能为 Java 中的 var 关键字分配 lambda 表达式?

允许var在 Java 10 中使用如下字符串进行分配:

虽然不允许使用 lambda 表达式分配它,例如:

为什么它不能推断出 lambda 或方法引用类型,而它可以推断出其余的,如StringArrayList、 用户类等?

0 投票
0 回答
941 浏览

maven - Kotlin + Java 10 + Maven + Java 模块 == 失败

我有一个使用 kotlin 1.2.31 和 kotlin-maven-plugin 的项目使用 Java 10(也适用于 Java 9)

当我开始将 module-info.java 文件添加到我的项目中时,kotlin 编译器会失败并显示下面的堆栈跟踪。

我已经尝试了 kotlin-maven-compiler 的所有未开发版本,但没有运气。

看起来编译器正在使用重新打包/着色的 objectweb asm 版本......但是我无法找到源代码来查看 ClassReader.java:2659 发生了什么

0 投票
1 回答
141 浏览

java - 为什么我们不能将两个推断变量作为匿名类分配给彼此?

Java 10允许anonymous class使用var类似:

但是这个赋值会抛出一个错误:

jshell> a1 = a2; | Error: | incompatible types: $1 cannot be converted to $1 | a1 = a2; | ^^

根据错误日志,为什么 Java 10 不能将两个推断var的 s分配anonymous class给彼此,但它可以对 , 等其他类型做同样的Long事情String

0 投票
4 回答
2217 浏览

java - Local Variable Type Inference not being recognized

I installed JDK 10 to try out the new features, and I got a big hung up on var - for some reason, even though the JDK was added to IntelliJ (version 2018.1), the following code still won't compile, saying Java cannot find the symbol var:

Am I missing something obvious here, or is there an option in IntelliJ I should enable?

EDIT: Both project and module SDK and Language Level are set to the Java 10 installation and lvl. 10 (though not the X - experimental level).

0 投票
2 回答
172 浏览

java - 在 JShell 上执行时同一语句的不同行为

我正在解决一个问题,将两个类的引用相互存储

例如:

现在如果不是上面的初始化,如果我使用下面的语句:

我得到了以下非常明显的错误:

但是,如果我在 JShell 上尝试相同的操作,它就可以正常工作(只是为了更加确定它variable a从未被初始化,我variable a在执行确认它之前未初始化的语句之前检查过:

在此处输入图像描述

可能是我在这里遗漏了一些东西,但是有人可以帮助我理解为什么在 JAVA 中执行同一语句有两种不同的行为。

理解这个问题的一个简单方法是允许在正常程序中使用以下语句,Jshell但在正常程序中不允许:

0 投票
1 回答
366 浏览

java - jdk.incubator.httpclient 中的 NullPointerException

我正在尝试使用来自 JDK10 的新的闪亮 httpclient。代码非常简单。我使用多个线程的同步 HTTP 调用:

有时我会得到 NPE:

我的代码有问题吗?这个例外的原因是什么?

0 投票
1 回答
1284 浏览

intellij-idea - intellij IDEA - 编辑配置

我用 Java10 安装了 IntelliJ IDEA。我在构建和运行时遇到问题。我被要求编辑配置。我在模块设置中指定了 JDK 10。那是一个错误吗?

如果不配置,我无法构建和运行

从这里我可以打开一个新窗口来配置运行设置 - 我不知道如何继续

在此处输入图像描述

在此处输入图像描述

而且,当我尝试使用随机配置设置进行编译时出现此错误。

错误:无法找到或加载主类原因:java.lang.ClassNotFoundException

这部分真的很令人困惑,而且不是真正的用户友好,而且我发现 JetBrain 有很好的记录

我需要哪种配置来构建项目 - 已经指定了 JDK (10)