Kotlin —  apply vs with

apply和with的不同

① apply接收一个实例作为接收者,同时要求一个实例作为参数传递。 ② apply返回接收者,with返回其块内最后一个表达式的结果。

通常情况下,当你需要对一个对象某些事情并返回时,可以使用apply。而当你需要在一个对象上执行一些操作并返回一些可以使用的其他对象时,你可以使用with

apply示例代码:

fun getUser():User{
  return User().apply{
      name="andorid coder"
      age=25
  }
}

with示例代码:

fun getPersonFromUser(user:User):Person{
  return with(user){
      Person(name,user)
  }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏柠檬先生

JavaScript 基础(七) 箭头函数 generator Date JSON

ES6 标准新增了一种新的函数: Arrow Function(箭头函数)。     x => x *x     上面的箭头相当于:   ...

1945
来自专栏编程心路

Java基础-Object类中的方法

下面这些是 Java 中的 Object 类中方法,共 11 个,9 种方法,wait() 方法被重载了。

863
来自专栏xingoo, 一个梦想做发明家的程序员

剑指OFFER之栈的压入、弹出序列(九度OJ1366)

题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的...

21010
来自专栏我和PYTHON有个约会

18. 再说循环~列表和循环的高级操作

在前面的课程中,我们已经学习了循环和函数的基本操作,这节内容主要针对循环和函数在项目使用过程中的一些更加有使用价值的操作进行分析和讲解

381
来自专栏LinkedBear的个人空间

【源码分析】面试问烂的equals和各种字符串、Integer比较

今天在空闲时间聊天时发现,面试题中的equals问题,以及String、Integer等的判等问题还是讨论的比较激烈而且混乱。。。(滑稽)

783
来自专栏python3

python3--object类,继承与派生,super方法,钻石继承问题

{'kind': '波斯猫', 'name': '小黑', 'sex': '公'}

821
来自专栏java一日一条

继承、接口与多态的相关问题

继承:通过继承实现代码复用。Java中所有的类都是通过直接或间接地继程java.lang.Object类得到的。继承而得到的类称为子类,被继承的类称为父类。子类...

552
来自专栏闵开慧

PHP中echo(),print(),print_r()的区别

四种方法可以输出字符串。 echo print() printf() print_r() echo 可以一次输出多个值,多个值之间用逗号分隔。echo是...

3427
来自专栏Java技术栈

JDK8新特性之接口默认方法与静态方法

接口默认方法与静态方法 有这样一些场景,如果一个接口要添加一个方法,那所有的接口实现类都要去实现,而某些实现类根本就不需要实现这个方法也要写一个空实现,所以接口...

3269
来自专栏Java帮帮-微信公众号-技术文章全总结

第十六天 常用API-Date&DateFormat&Calender&System&Math&基本类型包装类&正则【悟空教程】

第十六天 常用API-Date&DateFormat&Calender&System&Math&基本类型包装类&简单正则表达式【悟空教程】

792

扫码关注云+社区