Kotlin 日常小麻烦

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/walq1314/article/details/84029172

kotlin 日常遇到的麻烦 新手入坑 请多指教

1.  匿名内部类:

lambda表达式匿名内部内

 val kt =  object :KTName(){
    //TODO 实现
  }

 var race2: Runnable = Runnable { println("Hello world !") }

 private val mOnCheckedChangeListener: RadioGroup.OnCheckedChangeListener =
       RadioGroup.OnCheckedChangeListener { group, rid -> }

2. 继承类:

//这里class 修饰词语有 open 和deta 
class  DataModel(var string:String = "sss",str:String?): Model(str){ 
   constructor() : this("xxx", null)
    //init 是默认构造方法实现函数 可以使用 类名上定义的 string 和 str
    init{   }   
    //这里是写静态方法的
     companion object { val a = 100  }
} 
//open表示可继承
open class  Model(str:String){  init{ print(str) } } 
//data 表示是个数据类型 这里必须有一个数据通过构造方法传入
data class  Data(var str:String){ }

3. 序列化:

//kotlin 这个对象需要导包
java.io.Serializable 

4.  循环: for forEach

for (item in collection) print(item)

val string = arrayListOf(1,2).let{
    //咋不变颜色呢
    string.forEach {  }
}  
for (i in 0..index) { }

 //在这里循环8次为0至7
for(i in 0..7 [step 1]){ }

 //与前面第一个相反,也是闭区间
for(i in 7 downto 0  [step -1]){  }

 //在这里循环7次为0至6
 //kotlin真的是为开发者着想的
 //多出这一个是为数组历遍而设计的
for(i in 0 until 7){ }

链接:https://www.jianshu.com/p/841ba165fe54 

 5. 当遇到数字大于Kotlin数的值得时候

参考文章 : https://blog.csdn.net/Mingyueyixi/article/details/78093184

val color =  0xEE000000.toInt()

6. Kotlin 里面是没有数组这种说法的 可以这样写 

 private val integers = arrayOfNulls<Int>(4)

 val string = arrayOf(1,2.3)

 val string = arrayListOf(1,2)

 val string = arrayListOf<Int>()

7. 可变数组  vararg 

看到这个*了吗 传入java的时候需要些个 * 我搞不懂为啥要这样   

扫描二维码关注公众号,回复: 4395271 查看本文章
     fun ofFloat(propertyName: String, vararg values: Float) {
            val anim = ObjectAnimator()
            anim.target = null
            anim.propertyName = propertyName
            anim.setFloatValues(*values)
        }

猜你喜欢

转载自blog.csdn.net/walq1314/article/details/84029172