Kotlin是基于JVM平臺的靜態(tài)編程語言,同時(shí)在設(shè)計(jì)初就把與Java的互操作性當(dāng)作重要目標(biāo)。正如官網(wǎng)所宣傳的那樣:100% interoperable with Java and Android。下面我們舉個(gè)簡單的例子,來展示Kotlin中使用Java的ArrayList類與使用JUnit測試框架進(jìn)行單元測試。代碼示例如下:
fun getArrayList():List<String> {? // (1)函數(shù)聲明
? ?val arrayList = ArrayList<String>() // (2)Kotlin 中直接調(diào)用Java的API
arrayList.add("A")
arrayList.add("B")
arrayList.add("C")
return arrayList
}
代碼說明如下:
(1):聲明了一個(gè)返回List<String>的函數(shù),我們看到Kotlin中使用fun關(guān)鍵字來聲明函數(shù)。
(2):創(chuàng)建了一個(gè)ArrayList<String> 對象,我們可以看到,在Kotlin中創(chuàng)建對象不再使用new關(guān)鍵字了,尖括號里面的String是泛型信息。該語法與Java語言基本類似。關(guān)于集合類與泛型的相關(guān)內(nèi)容,將在第七章和第八章中具體介紹。
下面使用JUnit框架進(jìn)行單元測試。代碼如下:
@RunWith(JUnit4::class)? ?//? 直接使用Java生態(tài)庫JUnit中的注解@RunWith
class FullJavaInteroperabilityTest{
@Test? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//? ?標(biāo)記這是一個(gè)測試方法
fun test{
val list = getArraylist()? ? ? //? ?調(diào)用被測試函數(shù)
Assert.assertTrue(list.size == 3)? ? //? 斷言
}
}