Professional Documents
Culture Documents
Bridge to Kotlin
Kotlin Language ဆိတာ High Level Programming Language ထဲမာ ေနာက်ဆးေပ
ံ Programming
ေတွအေနနဲ ့သိသငတ
့် ဲ့ Kotlin Language ဆိင်ရာ Feature ေတွကပဲ
ိ ေရွ းထတ် ပီး ေြပာသွားမာ
ေတွ ြဖစ်ပါတယ်။
Variables in Kotlin
Programming Language ေတွက Support ေပးတဲ့ Variable ေတွကိ ေလ့လာမယ်ဆရင်
ိ
Page 1 of 15
2 Bridge to Kotlin (Myanmar Links)
Kotlin မာ ထးြခားတာ တစ်ခက Variable ေတွ အေနနဲ ့Java လိ Primative Data Type ပံစံ
oneMillion.toString()
oneMillion.toByte()
oneMillion.toBigDecimal()
oneMillion.toBigInteger()
ေနရာ အေသမတ်တပ
ဲ့ ံစံပါ။ ဒါကလဲ Java နဲ Interoperability
့ အတွက်ပါ။ ဆိလိတာက
Kotlin နဲ ေရးရး
့ Java နဲ ေရးရး
့ Android ကိ အဆင်ေြပေစဖိ ပါ။
့
့ ) သတ်မတ်လိရပါတယ်
Inmutable (ြပင်လိ မရေအာင် ့ ။ ေနာက်ထပ် value ကိ ြပင်ချင်တယ်ဆရင်
ိ ေတာ့
Mutable (ြပင်လရေအာင်
ိ့ ) သတ်မတ်ေပးလိရပါတယ်
့ ။ ဥပမာ -
တက်ပါလိမ်မ
့ ယ်။ IDE မာ တင် Error တက်လာမာပါ။ var လိ ေပးထားတာေတာ
့ ့ Mutable ပါ။
ီ တွက် age = 45 ဆိ ပီး ထပ် assign လပ်လရပါတယ်
အဲဒအ ိ့ ။
Page 2 of 15
3 Bridge to Kotlin (Myanmar Links)
Java မာလိ Variable ေတွကိ အရင်ေ ကာ်ြငာ ပီး ေနာက်မ တန်ဖိး assign လပ်ချင်တယ်ဆရင်
ိ ေတာ့ ဒီလိ
ပံစံန ဲ လပ်
့ လရပါတယ်
ိ့ ။
အဲဒလ
ီ ိ သတ်မတ်လိက်ရင်ေတာ ့ test ရဲ value
့ ကိ ေနာက်မ သတ်မတ်လရသွ
ိ ့ ားပါလိမ်မ
့ ယ်။
Array in Kotlin
Programming Language ေတွမာ အသံးြပ တဲ့ ပံစံေတွန ဲ ့မတတာပါ။ Kotlin Array ကိ List ေတွန ဲ ့တွဲ ပီး
နားလည်ဖိ လိ
့ ပါတယ်။ က န်ေတာ်တိ Android
့ မာ မြဖစ်မေန သံးဖိ လိ
့ အပ်တာ Kotlin က Array နဲ List
့
ေတွပါ။
3. Inherited Functions ေတွ ြဖစ်တဲ့ equals, hashCode, toString ဆိတဲ့ function သံးခ
အဲဒ ီ အပိင်း (၄) ပိင်းမာ အေပ သံးချက်က ဘာမ မထးြခားပါဘး။ ေအာက်က နမနာေလးအတိင်း
ေရး ကည့မ
် ယ်ဆရင်
ိ နားလည်သာွ းပါလိမ်မ
့ ယ်။
Page 3 of 15
4 Bridge to Kotlin (Myanmar Links)
println(day)
}
if (days.equals(days)) {
println("They are equal")
} else {
println("They are not equal")
}
if(days.equals(anotherDays)) {
println("They are equal")
} else {
println("They are not equal")
}
println(days.indices)
println(days.lastIndex)
ေလ့လာ ကည့ရ
် ေအာင်
.all
Kotlin Array ရဲ ့ Extension Function တစ်ခြဖစ်တဲ့ all ဟာ Array ထဲမာ ိတဲ့ Element ေတွ အားလံးကိ
while (iterator.hasNext()) {
if (isEven(iterator.next())) {
println(true)
}
Page 4 of 15
5 Bridge to Kotlin (Myanmar Links)
println(numbers.all(isEven)) // isEvent(it)
အေပ မာ ြပထားတဲ့ Program ကိ ေလ့လာ ကည့မ
် ယ်ဆရင်
ိ numbers array ထဲမာ ပါတဲ့ values ေတွ
အားလံး စံဂ န်း (Even Number) ေတွလားဆိ ပီး စစ်ချင်တယ် ဆိပါစိ။့ ပံမန်အတိင်းဆိရင် loop ပတ် ပီး
စစ်ေနရပါလိမ်မ
့ ယ်။ အဲဒအ
ီ စား numbers.all(isEven) ဆိရင် တစ်ခါတည်း ကိစ ြပတ်ပါတယ်။
ဒီေနရာမာ တစ်ခမတ်ထားဖိ လိ
့ တာက အထဲမာ ိတဲ့ Value တစ်ခြခင်းစီကိ
ကိယ်စားြပ တဲအ
့ ခါ Kotlin မာ it နဲ ကိ
့ ယ်စားြပ ပါတယ်။ numbers.all(isEven(it))
ဆိ ပီးလဲ စစ်လိရပါတယ်
့ ။
.any
.any ကေတာ့ .all နဲ ့ဆင်ပါတယ်။ .all က အားလံး ြဖစ်မ true ြဖစ်မာ ြဖစ် ပီး .any ကေတာ့ တစ်ခခ
ကိက်တာနဲ true
့ ြဖစ်ပါမယ်။ ဥပ
့ မာ -
ဒီေနရာမာေတာ့ it ရဲ အသံ
့ းြပ တဲ့ ပံစံကိ င်းြပထားပါတယ်။
.contains
.contains ကလဲ အရမ်းအသံးဝင်တဲ့ function တစ်ခ ြဖစ်ပါတယ်။ ဥပမာ -
Page 5 of 15
6 Bridge to Kotlin (Myanmar Links)
.copyOf
copyOf ကေတာ့ Array တစ်ခကေန ေနာက်တစ်ခကိ တစ်ပစံ
ံ တည်း ကးယချင်တအ
ဲ့ ခါ သံးပါတယ်။
နဲ ့စစ် ကည့်မယ်ဆရင်
ိ ေတာ့ တမာ မဟတ်ပါဘး။ Object စ်ခ ြဖစ်သာွ း ပီး တစ်ခနဲ ့တစ်ခ Memory ေပ မာ
မတ်တအ
ဲ့ ခါ မတတဲအ
့ တွက် ြဖစ်ပါတယ်။
.filter
Kotlin Array မာ filter ကလဲ အေတာ် အသံးဝင်တဲ့ function တစ်ခ ြဖစ်ပါတယ်။ ဥပမာ -
}
if (numbers is Array<*>) {
println("It is an Array!")
}
numbers.filter(isEven) နဲ စစ်
့ လက်
ိ တအ
ဲ့ တွက် List တစ်ခအေနနဲ ့ထွက်လာပါလိမမ
့် ယ်။
.forEach
forEach ကလဲ က န်ေတာ်တိအတွ
့ က် အင်မတန် အသံးဝင်တဲ့ function တစ်ခ ြဖစ်ပါတယ်။ ဥပမာ -
forEach သံးမယ်ဆရင်
ိ က န်ေတာ် တိ အေပ
့ မာ ေရးသလိ ေရးေနစရာ မလိေတာပ
့ ါဘး။ ေရးရတာ
အရမ်းသက်သာသွားပါတယ်။
ဒီေနရာမာ သတိထားဖိ လိ
့ တာက it ဆိတာပါ။ it ဆိတာ item တစ်ခြခင်းစီကိ
ကိယ်စားြပ ပါတယ်။
သွား ကည့်လိရပါတယ်
့ ။
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html
Page 7 of 15
8 Bridge to Kotlin (Myanmar Links)
Array ေတွက Fixed Size ြဖစ် ပီး Collections မာ ပါဝင်တဲ့ MutableList<T> ကေတာ့
List
Kotlin List မာ MutableList နဲ ImmutableList
့ ဆိ ပီး ိပါတယ်။ ဥပ
့ မာ -
Page 8 of 15
9 Bridge to Kotlin (Myanmar Links)
anotherDays.addAll(endDays)
println(anotherDays)
သံးလိရပါတယ်
့ ။ က န်ေတာ်တိ Java
့ မာ သံးေန က ပံစံေတွ ြဖစ်ပါတယ်။
Set
Set မာလဲ ထံးစံအတိင်း Immutable နဲ Mutable
့ ဆိ ပီ း စ်ခ ကွဲပါတယ်။ List နဲ ့Set ဘာကွာလဲဆရင်
ိ Set
အဲဒလ
ီ ိမဟတ်ေတာပ
့ ဲ ထပ်ေနတာေတွကိ ဘံချ ပီး ေပါင်းလိက်ပါတယ်။ Run ကည့မ
် ယ်ဆိရင် Result မာ
[1, 1, 3, 5, 4, 3, 2]
[1, 3, 4]
ဆိ ပီ း ြပပါလိမ်မ
့ ယ်။
Map
Map ကေတာ့ Key->Value Pair ပံစံန ဲ သွ
့ ားပါတယ်။ Key ေတွ အေနနဲ ့ဘယ်ေတာ့မ မထပ်ပဲ Value
အေနနဲေတာ
့ ့ တလိရပါတယ်
့ ။ ဥပမာ -
println(it.value)
}
Page 10 of 15
11 Bridge to Kotlin (Myanmar Links)
If Statement
မာ ထးြခားတာေတွကေတာ့
val numOne = 45
val numTwo = 34
val max = if (numOne > numTwo) numOne else numTwo
println(max)
println(anotherMax)
When Statement
class Test {
fun test() {
val x = 1
Page 11 of 15
12 Bridge to Kotlin (Myanmar Links)
when(x) {
1 -> println("One")
2 -> println("Two")
else -> {
println("Others")
}
}
val y = 4
when (y) {
in 1..5 -> println("It's in the range of
1 to 5")
!in 7..9 -> println("It's not in the
range of 7 to 9")
6 -> println("Six")
else -> {
println("Others")
}
}
when {
x.isOdd() -> println("X is Odd")
x.isEven() -> println("X is Even")
}
}
}
Page 12 of 15
13 Bridge to Kotlin (Myanmar Links)
return false
}
For Loop
က န်ေတာ်တိ PHP
့ မာဆိရင် foreach နဲ ဆင်
့ တပါတယ်။ နမနာအေနနဲ ့ေရး ကည့ပ
် ါမယ်။
Page 13 of 15