zoukankan      html  css  js  c++  java
  • 你真的了解Kotlin吗?

    基本数据类型

    var int = 0B0000_0011
    var double = 9.9
    var float = 9.8f
    val intArray: Array<Int> = arrayOf(1, 1, 2) // it.javaClass.name equals [Ljava.lang.Integer;
    val stringArray: Array<String> = arrayOf("A", "B") // [Ljava.lang.String;
    

    入表达式

    class Test {
        @Test fun test() {
            val fn = { a: Int, b: String ->
                println("a=$a, b=$b");      //  <------- Kotlin也有必须使用分号的时候
                { c: Unit ->
                    println(c)
                }
            }
            fn(88, "Hello")(Unit)
        }
    }
    

    lateinit - 延迟初始化

    @Service
    @ComponentScan(basePackageClasses = [App::class])
    class App {
        @Autowired
        lateinit var dbService: DBServ
    
        fun run() {
            println("Hello, Spring, ${this.dbService}")
        }
    }
    

    SAM - 单一抽象方法

    针对Java中单一抽象方法的接口,例如Runnable,可以使用以下形式实现:

    1. 匿名对象(适用于Java和Kotlin接口)
    object : Runnable {
      override fun run() {
        // TODO
      }
    }
    
    1. 入表达式(仅Java接口可用)
    Runnable {
      // TODO
    }
    

    值对象

    只有数据没有其他代码的类称为值对象,和数据类的区别?—— 数据类不能是抽象、开放、密封或者内部的。
    see https://hackmd.io/@MonsterLee/HJyAdgRBB

    class Person(val name: String)
    

    END

  • 相关阅读:
    云计算-MapReduce
    云计算--hbase shell
    云计算--hdfs dfs 命令
    云计算--MPI
    jQuery 效果
    jQuery 效果
    JQuery效果隐藏/显示
    JQuery教程
    六级啊啊啊
    jQuery 安装
  • 原文地址:https://www.cnblogs.com/develon/p/14469761.html
Copyright © 2011-2022 走看看