c# - Java 1.7 与 C# List/Set/Map 语法糖

标签 c# java

以下应该是 Java 1.7 的一部分:

List<String> list = ["item"];
String item = list[0];

Set<String> set = {"item"};

Map<String, Integer> map = {"key" : 1};
int value = map["key"];

在 C#(和 VB.NET)中几乎可以完成同样的工作,但语法略有不同。在 .NET 中,这被实现为 indexed properties ,这是任何开发人员都可以用来应用到自己的类的语言功能。

有谁知道这些功能是否针对 List、Set 和 Map 及其子类严格硬编码,或者这背后有更通用的语言功能?

最佳答案

这些特性都没有进入 JDK7。列出了削减的 Java 语言更改 here作为:

JSR 334: Small language enhancements (Project Coin). A set of small language changes intended to simplify common, day-to-day programming tasks: Strings in switch statements, try-with-resources statements, improved type inference for generic instance creation ("diamond"), simplified varargs method invocation, better integral literals, and improved exception handling (multi-catch)

剩余的“Project Coin”特性和其他语言变化被用于 JDK8:

JSR 294: Language and VM support for modular programming. Enhancements to the Java language and virtual-machine specifications to support modular programming, at both compile time and run time

JSR 308: Annotations on Java types. An extension to the Java annotation syntax to permit annotations on any occurrence of a type

JSR TBD: Language support for collections. Literal expressions for immutable lists, sets,

JSR TBD: Project Lambda. Lambda expressions (informally, "closures") and defender methods for the Java programming language

关于c# - Java 1.7 与 C# List/Set/Map 语法糖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6531625/

相关文章:

java - 使用 Reactive MongoDB 模板返回 Mono<UpdateResult>

java - Android 应用程序在最小化一定时间后终止

c# - 异步初始化局部变量

c# - 如何通过绑定(bind)到复选框来过滤表格项?

c# - 第三方引用的不明确调用

c# - 将旧版 .NET 集合迁移到其通用对应集合

java - 递归-找到矩阵中最大的蠕虫

c# - ^= 运算符到底是做什么的?

java - Java 的平台无关/dev/null 输出接收器

java - 任何复杂的 Java 桌面式 GUI 示例项目?