查詢 Java 程式的 class 檔編譯的 JVM 版本
最近開始將執行環境的 JVM 8 升到 11,舊專案在編譯的時候如果沒有指定目標版本,就可能在執行時出現 UnsupportedClassVersionError 的錯誤。
Kotlin 實戰範例 (10) Pair、解構式宣告、範圍函式
Kotlin 有幾個特別一提的功能,例如 Pair 及 Triple 可以將兩個及三個資料放在一起,對於暫時傳遞資料用非常方便,搭配解構式宣告使用起來更加方便。範圍函式是一種很特別的函式,基本上完全不使用它也不會怎麼樣,但是如果用得好,能夠讓程式碼更加結構化,在閱讀上語義更清楚。
Kotlin 實戰範例 (9) 集合
為了解決陣列的不足,Kotlin 針對一組相關的資料項目,提供了針對集合的操作。Java 8 新增的 Stream 套件,也是專門用來處理集合的,相關內容可以參考 Java8 新功能筆記 (3) - Stream。
Kotlin 提供的集合處理套件非常好用,而且因為語言本身的設計,在處理集合上更加安全、有效率,我們可以靈活的選擇要建立唯讀的集合,或是不可變動的集合,並且對集合做轉換、過濾、群組、截取、排序及聚合運算等等操作,在某些情況下使用序列運算還可以提升處理效率。
Kotlin 實戰範例 (7) 高階函式
Kotlin 最重要的特性應該就是高階函式了,有了高階函式我們就能做到許多單純物件導向程式語言無法做到的事,像是把函式當成值來傳遞。要瞭解高階函式要先知道什麼是頭等函式,以及其他重要的程式特性:函式型別、匿名函式、Labmda 表達式等等。
Kotlin 實戰範例 (6) 類別與物件
當應用程式變得龐大,程式碼就會變得複雜,我們需要一種工程方法來處理隨著功能變多而導致複雜度提高的眾多程式碼,解決方式有很多,物件導向是其中一種。
物件導向程式設計藉由對資料抽象及封裝等等特性,讓相關的程式碼藕合在一起,架構出一個由許多程式碼元件組合而成的應用程式。