问题标签 [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.
java - Java 10 'var' 将产生一个没有完全重建的错误
请参考以下示例。
==== 之前 ====
---- A.java ---
--- B.java
==== 之后 ====
---- A.java ---
--- B.java
尽管 A.java 发生了变化,但 B.java 源文件没有变化。B.class 文件的信息有 'userAccounts' 变量类型是 'OldUserAccounts' 不是吗?如果我将修改后的源文件应用于真实服务器。'var' 会产生错误吗?
注意: 我知道这是一种不好的做法,即使没有 var 更改也可能是字节码不兼容的。就我而言,重建整个项目的想法并不好。成本太高
任何想法或解决方法?
java - 为什么直接将 Arrays.asList() 分配给 var 时会出现 AssertionError?
我试图理解Java 10 中的局部变量类型推断。
下面的代码在编译和运行时完美运行:
/li>但是,此行会引发编译错误:
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
相同。提前致谢。
java - 在 IDEA 中将显式类型转换为 var
我有一个包含以下代码的 Java 10 项目:
当我将光标放在Map...
并按下Alt+Enter
时,应该有一个选项“将显式类型替换为var
”。但是,我的菜单中缺少此选项。
如何启用此选项?我应该清理一些缓存还是什么?
我正在使用 IDEA 2018.1.1 EAP。
java - 为什么不能为 Java 中的 var 关键字分配 lambda 表达式?
允许var
在 Java 10 中使用如下字符串进行分配:
虽然不允许使用 lambda 表达式分配它,例如:
为什么它不能推断出 lambda 或方法引用类型,而它可以推断出其余的,如String
、ArrayList
、 用户类等?
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 发生了什么
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
?
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).
java - jdk.incubator.httpclient 中的 NullPointerException
我正在尝试使用来自 JDK10 的新的闪亮 httpclient。代码非常简单。我使用多个线程的同步 HTTP 调用:
有时我会得到 NPE:
我的代码有问题吗?这个例外的原因是什么?