mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-10 15:53:46 +00:00
22 lines
397 B
Kotlin
22 lines
397 B
Kotlin
trait AL {
|
|
fun get(index: Int) : Any? = null
|
|
}
|
|
|
|
trait ALE<T> : AL {
|
|
fun getOrNull(index: Int, value: T) : T {
|
|
val r = get(index) as? T
|
|
return r ?: value
|
|
}
|
|
}
|
|
|
|
open class SmartArrayList() : ALE<String> {
|
|
}
|
|
|
|
class SmartArrayList2() : SmartArrayList(), AL {
|
|
}
|
|
|
|
fun box() : String {
|
|
val c = SmartArrayList2()
|
|
return if("239" == c.getOrNull(0, "239")) "OK" else "fail"
|
|
}
|