当前位置: 首页 > news >正文

建设网站类的论文网站服务器ip查询

建设网站类的论文,网站服务器ip查询,开家做网站公司有哪些,沈阳做网站企业data class 介绍 kotlin 中 data class 是一种持有数据的特殊类 编译器自动从主构造函数中声明的所有属性导出以下成员: .equals()/.hashCode() 对 .toString() 格式是 "User(nameJohn, age42)" .componentN() 函数 按声明顺序对应于所有属性。…

data class 介绍

kotlin 中 data class 是一种持有数据的特殊类

编译器自动从主构造函数中声明的所有属性导出以下成员:

    .equals()/.hashCode() 对
    .toString() 格式是 "User(name=John, age=42)"
    .componentN() 函数 按声明顺序对应于所有属性。
    .copy() 函数

为了确保生成的代码的一致性以及有意义的行为,数据类必须满足以下要求:

    主构造函数需要至少有一个参数。
    主构造函数的所有参数需要标记为 val 或 var。
    数据类不能是抽象、开放、密封或者内部的。

val 声明的参数类似java的final  ,data clas 里面不会有 set方法

var 声明的参数data clas 里面有 set方法

data clas 的使用

data class Person(val name: String, val age: Int)class MainActivity : ComponentActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.main_layout)val person = Person("张三丰", 122)Log.d("======person", "姓名=${person.name},年龄=${person.age}")}
}

componentN() 函数介绍

data class主构造函数中的每个属性,Kotlin会根据构造函数的个数生成相应的componentN()函数,且有几个参数会生成几个componentN()函数

data class Person(val name: String, val age: Int)class MainActivity : ComponentActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.main_layout)
//        val person = Person("张三丰", 122)
//        Log.d("======person", "姓名=${person.name},年龄=${person.age}")val person = Person("张三丰", 122)val (name, age) = person // 使用componentN()函数解构赋值Log.d("======person","$name is $age years old")}
}

copy 介绍

copy() 方法: copy()方法是data class提供的一个内置工具,用于创建现有实例的一个副本,并允许你修改部分属性值

data class Person(val name: String, val age: Int)class MainActivity : ComponentActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.main_layout)
//        val person = Person("张三丰", 122)
//        Log.d("======person", "姓名=${person.name},年龄=${person.age}")//        val person = Person("张三丰", 122)
//        val (name, age) = person // 使用componentN()函数解构赋值
//        Log.d("======person","$name is $age years old")val person1 = Person("Alice", 30)// 创建person1的一个副本,并更改年龄val person2 = person1.copy(age = 31)// person2将拥有与person1相同的name属性,但age属性被更新为了31岁Log.d("======person", "姓名=${person2.name},年龄=${person2.age}")}
}

总体而言copy对于实现不可变设计模式或者需要快速创建基于已有对象的衍生版本时非常有用

http://www.hkea.cn/news/983110/

相关文章:

  • 是不是做网站就能赚钱谷歌seo关键词优化
  • 萝岗门户网站建设今日重大新闻头条财经
  • 个人相册网站模板怎么把网站排名排上去
  • 建设外贸网站案例统计站老站长推荐草莓
  • 1688网站的特点全网营销系统
  • 西安做网站企业网址怎么申请
  • 专业网站建设品牌百度指数里的资讯指数是什么
  • 做网站规避什么网站制作
  • 网站开发工作方案2022拉人头最暴利的app
  • 网站建设好还是阿里巴巴好磁力猫torrent kitty
  • wordpress跨域访问前端优化网站
  • 住房和城乡建设部网站买卖合同北京中文seo
  • WordPress自己安装了插件深圳seo推广外包
  • 建立网站舆情分析报告范文
  • wordpress 空格 插件班级优化大师app
  • 成都有实力的网站建设网络培训心得
  • 中企高呈建设网站在百度怎么创建自己的网站
  • 女的和女的做那个视频网站怎么在网上做网络营销
  • 网站开发需要什么软件百度怎样发布作品
  • 专门做宠物食品的网站市场调研怎么做
  • 兰州网站建设q.479185700棒成年s8视频加密线路
  • 付费网站推广seo关键词排名优化怎么收费
  • 网站由那些组成google网页搜索
  • 对一个网站做性能测试谷歌paypal官网入口
  • 北京住房投资建设中心网站首页快速排名怎么做
  • 中国网站制作 第一个佛山网站优化
  • thinkphp做的教育网站微商引流推广
  • 做特卖网站手机版电商最好卖的十大产品
  • 怎样做网站平叿trinseo公司
  • 北京大兴最专业的网站建设公司如何推广一个项目