C# Java 7中是否会包含结构和值类型(如C&&x27;s)?
Java 7中会包含结构和值类型(如C#)吗?我在任何提案中都没有看到过,我很确定我们现在已经听说了C# Java 7中是否会包含结构和值类型(如C&&x27;s)?,c#,java,struct,value-type,java-7,C#,Java,Struct,Value Type,Java 7,Java 7中会包含结构和值类型(如C#)吗?我在任何提案中都没有看到过,我很确定我们现在已经听说了 请注意,这将是一个非常重要的JVM更改,而不仅仅是许多现有建议中的语言更改。它未被列在预期的功能中。它还需要在JVM中进行非常大的(几乎可以肯定是破坏性的)更改。这实际上不是从c中得到的最好的东西,你可以借用它,我认为像这样的东西 var x = 1; list.Select(o => o.Something = true) lambda expressions 以及来自as或javas
请注意,这将是一个非常重要的JVM更改,而不仅仅是许多现有建议中的语言更改。它未被列在预期的功能中。它还需要在JVM中进行非常大的(几乎可以肯定是破坏性的)更改。这实际上不是从c中得到的最好的东西,你可以借用它,我认为像这样的东西
var x = 1;
list.Select(o => o.Something = true) lambda expressions
以及来自as或javascript的一些内容,如:
o = new Object();
o.MyNewProp = 5
o.Do = new Function(){}
会好得多以下是John Rose(Oracle JVM开发人员)关于这一提议的博客文章。它已经存在了一段时间,但不是作为一个正式的JSR。即使在Java9中,这似乎也不太可能发生
如其他地方所述,来自JDK架构师John Rose
这是Valhalla()项目的一部分,计划用于Java 10。请不要!。。。。lambda表达式只是某种形式的函数对象的语法糖。在我看来,以增加Java语言语法复杂性为代价来节省键入是一种净损失。Javascript动态内容很好,但会降低性能,因为它无法静态编译-因此它属于JVM的动态语言(例如Groovy、Clojure、JRuby),而不是Java本身如果框架能够支持值类型数组,盒装值类型
T
最好有T
的成员,还是有T
类型的value
?尽管.NET采用了前一种方法,但我认为后一种方法在很多方面会更干净(我不喜欢自动装箱,更不喜欢自动拆箱)。