问题标签 [diamond-operator]
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 - Maven project Error: Diamond/multicatch operator not supported in -source 1.5
I can't build my maven java web application, because of the following two errors:
I'm confused, because i use java 1.8.0 for my project, i never have actually used 1.5
What could be causing this problem and how do i solve it?
I tried to build it after adding the follwing lines in the pom.xml, but without succes:
java - java diamond 运算符无法编译
当我尝试按如下方式使用菱形运算符时:
它完美地工作。
但是,当我尝试这个时:
它不编译,消息:“不兼容的类型:必需的列表,找到 ArrayList”。
这是为什么?
java - Java - 需要使用菱形运算符;android编译器合规级别和支持钻石运算符的级别之间的冲突
我对 java 很陌生,但一直在阅读一些内容,并试图在 Eclipse 中制作一个相当简单的 android 应用程序。我有以下代码行:
当然,我得到了错误:
'<>' 不允许用于低于 1.7 的源级别
所以我在 Eclipse 中将源级别更改为 1.7,然后出现错误:
Android 要求编译器合规级别为 5.0 或 6.0。而是找到了“1.7”。请使用 Android 工具 > 修复项目属性。
所以我这样做;然后编译器级别回到 1.6,现在我得到第一个错误。
我的问题是,是否有一种方法可以与 android 和菱形运算符兼容,或者是否有另一种方法可以编写该行代码(仍然使用数组列表;必须指定它是一个字符串)。
先感谢您!
java - 为什么我不能将 Java 7 菱形语法与番石榴 ImmutableSortedMap.Builder 一起使用
我正在使用 java 7,这个片段没有编译
而这个确实
rhs
当我在上指定类型时,为什么我需要在 上指定类型lhs
?对操作员来说,还有什么<>
比眼前所见更重要的吗?
java - 带有通配符的泛型类型中的“只读”对象
考虑以下代码(两个问题在代码中):
- 为什么不
b2.addChildren(new Tree<Number>())
工作? - 但它适用于 diamond <>
b2.addChildren(new Tree<>())
。编译器在菱形 <> 中使用哪种类型的列表?
java - 使用菱形运算符进行 Java 对象初始化 糟糕的 javac 编译时性能
我正在使用菱形运算符来启动列表中的对象。然而,随着数组对象数量的增加,编译时间从几秒增加到几小时。我的 Eclipse 自动构建使我的 Eclipse 无响应。然后我注意到这是一个javac问题。当我用编译时间替换所有<>
内容<String, List<Category>>
时,只需几秒钟。这是我做错了什么还是只是Java性能问题?
这是我的代码,它需要 Java 几个小时才能编译(或使 javac v8u25 崩溃):
编辑: 正如 Sotirios 在评论中提到的,这似乎是 JDK 中的一个报告问题:
类型推断指数编译性能: https ://bugs.openjdk.java.net/browse/JDK-8055984
java - 在 Eclipse IDE 中保存操作以将 java 代码转换为菱形符号
如果您的 java 版本 >= 1.7,则可以使用菱形表示法。
代替:
你可以写:
使用 Eclipse Mars-M4,我在使用第一个构造时出现错误。(也许Eclipse Luna版本已经是这种情况。我没有检查):
这是由于此配置:
树中的首选项 > Java > 编译器 > 错误/警告。在列表中:通用类型 > 冗余类型参数(1.7 或更高版本)。
这设置为错误。我当然可以将其配置为 IGNORE 以消除错误。
我正在寻找另一种解决方案。Eclipse 有“附加操作”的概念。我正在寻找一种将代码重写为菱形符号的操作。
此操作是否已经存在?我该如何配置它?
相关问题:
- 将现有泛型转换为菱形语法(但这是在 NetBeans 中)。
java - 钻石算子的默认行为是什么
我记得看到一个类似下面的声明:
private static Logger log = Logger.getLogger(<>.class);
优点是它可以从一个班级粘贴到另一个班级,而不会意外地成为另一个班级的记录器。
现在,我无法编译它,语法一定是错误的。那么 <> 究竟是自己解析的(不是 ArrayList<>() 等)?
谢谢
更新:
我断言它是合法的语法来自:
- 我在网上看到它是一个合法而漂亮的把戏。
- 我和一位同事都使用 Java 7 将其粘贴到 IntelliJ 中,并且编译正确。
也就是说,我找不到可以让我再次访问该页面的搜索,而且我现在无法编译!所以我希望有编译器或 Java 规范知识的人可以明确地说它是否有效以及默认值是什么。
java - Java 对象定义的简写或快捷方式?
有没有一种更快的方法来实例化 Java 中的对象,而不必重新键入类?例如,看看这本实例化的著作:
我喜欢这样的速记:
或者,我也会对自动完成实例化以使用无参数构造函数的 Eclipse 快捷方式感到满意。
android - 此语言级别不支持菱形类型
将项目导入 Android Studio 后,如果我想编译或运行该项目,则会引发错误:
错误:(61, 65) java: diamond 运算符在 -source 1.6 中不受支持
(使用 -source 7 或更高版本来启用 diamond 运算符)
有谁知道它是什么以及如何解决它?