淄博建设网站,wordpress皮肤购买,wordpress单页留言,Asp.net网站开发分析java 映射数组有时#xff0c;当我对JavaScript的强大功能和表现力感到兴奋时#xff0c;我发现自己错过了Java世界中的一两个功能。 除了lambda表达式/闭包或任何您想称为“匿名函数”的东西之外#xff0c;它还对数组#xff0c;数组#xff0c;列表#xff0c;集合当我对JavaScript的强大功能和表现力感到兴奋时我发现自己错过了Java世界中的一两个功能。 除了lambda表达式/闭包或任何您想称为“匿名函数”的东西之外它还对数组数组列表集合映射等常见数据类型使用了高级文字。在JavaScript中没有人会考虑构造一个这样的常量映射 var map new Object();
map[a] 1;
map[b] 2;
map[c] 3; 相反您可能会写 var map { a:1, b:2, c:3 }; 具体来说当将复杂参数传递给API函数时这实际上是一种非常方便的语法。 Java中的这些东西呢 我最近发布了一种解决方法您可以在这里使用Arrays.asList…创建“列表文字” http://blog.jooq.org/2011/10/28/javas-arrays-aslist-is-underused/ 这样就可以了。 在分配数组时还可以使用数组文字构造数组。 但是您不能将数组文字传递给方法 // This will work:
int[] array { 1, 2, 3 };// This wont:
class Test {public void callee(int[] array) {}public void caller() {// Compilation error here:callee({1, 2, 3});}
} Brian Goetz在lambda-dev上提到了各种文字 错过了很长一段时间后我很高兴阅读lambda-dev邮件列表中的Brian Goetz关于它们的提及 http://mail.openjdk.java.net/pipermail/lambda-dev/2012-May/004979.html 他列出的想法是 #[ 1, 2, 3 ] // Array, list, set
#{ foo : bar, blah : wooga } // Map literals
#/(\d)$/ // Regex
#(a, b) // Tuple
#(a: 3, b: 4) // Record
#There are {foo.size()} foos // String literal 不幸的是他还添加了以下免责声明 并不是说我们会立即或永远拥抱所有这些 显然在Java 8当前Java语言发展的现阶段他不能保证将来会增加什么。 但是从jOOQ的角度来看能够声明元组和记录文字具有适当的支持语言的支持支持这种类型的想法非常令人激动。 想象一下选择任意的元组/记录及其关联的索引/类型列/类型对。 想象一下在Java或Scala中这样的构造使用jOOQ // For simplicity, Im using Scalas val operator here,
// indicating type inference. Its hard to guess what true
// record support in the java language should look like
for (val record : create.select(BOOK.AUTHOR_ID.as(author), count().as(books)).from(BOOK).groupBy(BOOK.AUTHOR_ID).fetch()) {// With true record support, you could now formally extract// values from the result set being iterated on. In other// words, the formal column alias and type is available to// the compiler:int author record.author;int books record.books;
} 显然这只是推测但是您可以看到由于Java语言具有真正的元组/记录支持因此Java Universe中将释放许多功能这对所有现有的库和API都有很大的影响 敬请关注 参考来自JavaSQL和AND JOOQ博客的JCG合作伙伴 Lukas Eder 用Java 编写 数组列表设置映射元组和记录Java中的文字 。 翻译自: https://www.javacodegeeks.com/2012/06/array-list-set-map-tuple-record.htmljava 映射数组