首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Kotlin难点

    所有函数类型都有一个圆括号括起来的参数类型列表以及一个返回类型:(A, B) -> C 表示接受类型分别为 A 与 B 两个参数并返回一个 C 类型值的函数类型。...(Int) -> String 函数类型表示法可以选择性地包含函数的参数名:(x: Int, y: Int) -> Point。 这些名称可用于表明参数的含义。...因为这其实是个假的调用,它是 Kotlin 的语法糖,实际上你对一个函数类型的对象加括号、加参数,它真正调用的是这个对象的 invoke() 函数 双冒号 :: 创建一个函数引用或者一个类引用 函数引用...:将所提供的操作应用于集合元素并返回累积的结果 val items = listOf(1, 2, 3, 4, 5) // Lambdas 表达式是花括号括起来的代码块。...Kotlin 标准库包含几个函数,它们的唯一目的是在对象的上下文中执行代码块。

    44840

    kotlin基础--字符串操作、数字类型、标准库函数

    上次我们学习了kotlin的null安全、异常、先决条件,接下来来看看kotlin的字符串操作、数字类型、标准库函数 一、字符串操作 1.字符串截取 substring函数支持IntRange类型参数,...kotlin提供了toIntOrNull这样的函数,如果不能转换,不抛出异常,而是返回null fun main() { val num: Int?...kotlin提供的标准库函数,又进一步的提升了编写代码效率,掌握它们是使用kotlin的前提 1.apply apply函数可以看作一个配置函数,它的作用域内可以直接使用接收者的函数,并在最后自动返回接收者...setReadable(true) } } 2.run run函数和apply类似,只不过最后返回的是匿名函数结果,另外标准库函数都可以执行函数引用,非常方便 fun main...run { readText() } .run(::println) } 7.takeUnless 和takeIf相反,表达式结果为true,则返回null,否则返回接收者对象,一般使用

    47620

    使用 Java 16 或 Kotlin 更好的进行插件或模组开发

    本文的存在就是这个意义,我们将介绍从 Java 8 开始到 Java 16 重要的开发内容更新,并附带这些更新在以 Java 8 为运行时的 Kotlin 是如何处理的,以帮助开发者们能够更快的适应和享受新的...对于 Kotlin 来说,由于其可以基于 Java 8 运行,因此在大多数情况下无需进行更多更改,只需要在模组或插件内包含一个 Kotlin 的标准库,便可以享受 Kotlin 带来的便捷开发。...In Kotlin val list = arrayListOf() 使用 Record Class 更方便的创建数据传输对象 In Java 8 public class Point{..."one" to 1, "two" to 2) 除此之外,支持更多平台,支持 TLS 1.3,全新的 jlink 工具,HTML5 标准的 Javadoc,更强大的 ZGC 等特性都将可以在全新的 Java...值得一提的是,Java 8 中内置的 JavaScript 解析器 Nashron ,jjs 工具,Java EE,Unsafe::defineAnonymousClass(),基本数据类型的包装对象的构造函数都在

    59120

    Kotlin 编码规约

    不要只是为了保存“Foo 的所有扩展函数”而创建文件。...= …… 例外:用于创建类实例的工厂函数可以与要创建的类具有相同的名称: abstract class Foo { …… } class FooImpl : Foo { …… } fun Foo(...使用工厂函数创建集合实例时,尽可能选用返回不可变集合类型的函数: // 不良:使用可变集合类型作为无需改变的值 fun validateValue(actualValue: String, allowedValues...每当你有一个主要用于某个对象的函数时,可以考虑使其成为一个以该对象为接收者的扩展函数。为了尽量减少 API 污染,尽可能地限制扩展函数的可见性。...根据需要,使用局部扩展函数、成员扩展函数或者具有私有可视性的顶层扩展函数。 使用中缀函数 一个函数只有用于两个角色类似的对象时才将其声明为中缀函数。良好示例如:and、 to、zip。

    3.2K22

    Kotlin安卓开发学习-标准函数和静态方法

    , 5 11月 2022 作者 847954981@qq.com 后端学习, 我的编程之路 Kotlin安卓开发学习-标准函数和静态方法 Kotlin的标准函数指的是Standard.kt文件中定义的函数...,任何Kotlin代码都可以自由地调用所有的标准函数。...其最主要使用的是with、run和apply这三个函数。 with函数会在Lambda表达式中提供第一个参数对象的上下文,并使用Lambda表达式中的最后一行代码作为返回值返回。...object Util { fun doAction() { println("do action") } } 在Kotlin中,我们可以通过在单例类内创建方法,并在之后的代码中使用...除了添加注解来实现静态方法,Kotlin也能使用顶层方法来实现效果。 顶层方法指的是那些没有定义在任何类中的方法。比如我们创建一个新的Kotlin文件,并在内部直接写入方法,那么这个方法就是顶层方法。

    50320

    let,run,with,apply及also差异化分析

    Kotlin的作用域函数 Kotlin 标准库包含几个函数,它们的唯一目的是在对象的上下文中执行代码块。当对一个对象调用这样的函数并提供一个 lambda 表达式时,它会形成一个临时作用域。....() -> R): R 第二个run的声明方式则不同,它不是扩展函数,并且块中也没有输入值,因此,它不是用于传递对象并更改属性的类型,而是可以使你在需要表达式的地方就可以执行一个语句。...with使用的是非null的对象,当函数块中不需要返回值时,可以使用with。...apply函数主要用于初始化或更改对象,因为它用于在不使用对象的函数的情况下返回自身。...用于初始化对象或更改对象属性,可使用apply 如果将数据指派给接收对象的属性之前验证对象,可使用also 如果将对象进行空检查并访问或修改其属性,可使用let 如果是非null的对象并且当函数块中不需要返回值时

    60150

    《Kotlin 极简教程 》第5章 集合类(1)

    有任何问题,欢迎随时与我交流~ ---- 本章将介绍Kotlin标准库中的集合类,我们将了解到它是如何扩展的Java集合库,使得写代码更加简单容易。...其中, listOf()用于创建没有元素的空List listOf(element: T)用于创建只有一个元素的List listOf(vararg elements: T)用于创建拥有多个元素的List...迭代器通常被称为“轻量级”对象,因为创建它的代价小。 Kotlin中的Iterator功能比较简单,并且只能单向移动: (1) 调用iterator()函数,容器返回一个Iterator实例。...遍历集合每个元素,得到通过函数算子transform映射之后的值,剔除掉这些值中的null,返回一个无null元素的集合。...)分组,并返回Map。

    2.8K20

    Spring认证中国教育管理中心-Spring Data MongoDB教程六

    可以检索单个实体和检索多个实体作为一个之间切换List或Stream通过终止方法:first(),one(),all(),或stream()。...(); 11.6.9.Kotlin 的类型安全查询 Kotlin 通过其语言语法和扩展系统支持特定领域的语言创建。...Spring Data MongoDB 附带一个 Kotlin 扩展,用于Criteria使用Kotlin 属性引用来构建类型安全查询。使用此扩展的查询通常受益于提高的可读性。...您可以使用它来创建Example. 默认情况下,null忽略具有值的字段,并使用商店特定的默认值匹配字符串。 将属性包含在 Query by Example 标准中是基于可空性。...这种方法创建了一个回调,要求实现者修改匹配器。您不需要返回匹配器,因为配置选项保存在匹配器实例中。以下示例显示了使用 lambda 的匹配器: 示例 96.

    2.8K20

    Spring认证中国教育管理中心-Spring Data MongoDB教程十五

    为了让你强制基础设施注册一个转换器,只有一个办法,我们提供@ReadingConverter并@WritingConverter在转换器实现使用注解。...如果您通过start.spring.io引导 Kotlin 项目,则默认提供这些。 20.2.零安全 Kotlin 的关键特性之一是空安全,它null在编译时干净地处理值。...(Kotlin 允许使用具有可为空值的函数式构造。请参阅Kotlin 空值安全性综合指南。)...Kotlin 对 JSR-305 注释和 Spring 可空性注释的支持为Kotlin 开发人员提供了整个 Spring Data API 的空安全,具有null在编译时处理相关问题的优势。...inCollection("star-wars").all() 在 Java 中,charactersKotlin 是强类型的,但 Kotlin 巧妙的类型推断允许使用更短的语法。

    2.4K30

    Kotlin安卓开发学习(3)

    使用Java来写需要继承各个方法并逐个填充,但Kotlin可以直接创建数据类: data class Cellphone(val brand: String, val price: Double) 当用....map { it.toUpperCase() } //全部大写表示 any和all函数前者用于判断集合中是否至少存在一个元素满足条件,后者判断是否所有元素都满足条件: val anyResult...= list.any { it.length <= 5 } val allResult = list.all { it.length <= 5 } 空指针检查 Kotlin有着严格的空指针检查,它在编译时就会检查代码是否安全...(会不会出现null),这当然会导致代码变得比较男鞋,但是Kotlin也提供了一系列辅助工具。...这个操作符的左右两边都接收一个表达式,如果左边表达式的结果不为空就返回左边表达式的结果,否则就返回右边表达式的结果。如: //简化前 val c = if (a !

    52810

    【Kotlin】标准库函数总结 ( apply 函数 | let 函数 | run 函数 | with 函数 | also 函数 | takeIf 函数 | takeUnless 函数 )

    五、also 标准库函数 六、takeIf 标准库函数 七、takeUnless 标准库函数 Kotlin 语言中 , 在 Standard.kt 源码中 , 为所有类型定义了一批标准库函数 , 所有的...Kotlin 类型都可以调用这些函数 ; 一、apply 标准库函数 ---- Kotlin 标准库函数 中的 apply 函数 , 该函数可以看作 实例对象 的 配置函数 , 传入 T.() ->...'值作为参数的指定函数[block],并返回其结果。...---- 1、run 函数传入 Lambda 表达式作为参数 run 标准库函数原型如下 : /** * 调用以' this '值为接收者的指定函数[block],并返回结果。..., 则 返回 null 空值 ; takeIf 函数 的功能 也可以使用 if 语句实现 , 但是该函数 可以 直接 作用于 接收者对象 , 非常适合进行 函数式编程 的 链式调用 场景 , 如果使用

    2.7K10

    《Kotlin 程序设计》第三章 Kotlin 类型系统第三章 Kotlin 类型系统基本数据类型2.字符类型CharKotlin类型系统参考资料

    在Number类里面定义了数字类型之间显式转换的函数: package kotlin /** * Superclass for all platform classes representing numeric...支持数字运算的标准集,运算被定义为相应的类成员(但编译器会将函数调用优化为相应的指令)。...arrayOf() 来创建一个数组并传递元素值给它,这样 arrayOf(1, 2, 3) 创建了 array [1, 2, 3]。...库函数 arrayOfNulls() (初始化值为null),emptyArray(其实现是(arrayOfNulls(0) as Array)) 可以用于创建一个指定大小、元素都为空的数组...另一个选项是用接受数组大小和一个函数参数的工厂函数,用作参数的函数能够返回。

    1.4K30

    Kotlin实战【一】Kotlin定义与目的

    我们来举个栗子: 创建一个Person类来表示一个“人”,创建一个“人”的集合,查找其中年纪最大的人,并打印结果。...这些语言允许你定义可以存储任何数据类型的变量,或者返回任何数据类型的函数,并在运行时才解析方法和字段引用。这会减少代码量并增加创建数据结构的灵活性。...Kotlin特征集 函数类型,允许函数接受其他函数作为参数,或者返回其他函数。...lambda 表达式,让你用最少的样板代码方便地传递代码块 数据类,提供了创建不可变值对象的简明语法 标准库中包括了丰富的 API 集合,让你用函数式编程风格操作对象和集合 Kotlin 允许你使用函数式编程风格但并没有强制你使用它...执行代码 下图,kotlin编译过程流程图 kotlin编译器编译的代码依赖kotlin运行时库,如上图,他包括Kotlin自己的标准库的定义,以及Kotlin对标准Java API的扩展

    94730
    领券
    首页
    学习
    活动
    专区
    圈层
    工具