java 映射数组_Java中的数组,列表,集合,映射,元组,记录文字
java 映射數組
有時,當我對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 won't: 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, I'm using Scala's val operator here, // indicating type inference. It's 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都有很大的影響
敬請關注!
參考:來自Java,SQL和AND JOOQ博客的JCG合作伙伴 Lukas Eder 用Java 編寫 數組,列表,設置,映射,元組和記錄Java中的文字 。
翻譯自: https://www.javacodegeeks.com/2012/06/array-list-set-map-tuple-record.html
java 映射數組
總結
以上是生活随笔為你收集整理的java 映射数组_Java中的数组,列表,集合,映射,元组,记录文字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oki打印机官方网站(oki打印机官方网
- 下一篇: 诺基亚有能打电话的平板电脑(诺基亚有能打