Kotlin:数组、字符串模板

摘要:
Array类定义get和set函数(将根据运算符重载约定转换为[])、size属性和其他创建数组的方法:包含的元素被指定为函数的实际参数。使用arrayOfNulls创建给定大小的数组,该数组只能用于创建包含可以为空的元素类型的数组。调用Array类的构造方法。这些类型将被编译成一个通用Java基本数据类型的数组,将数组大小传递给相应类型(如IntArray)的类的构造函数。

一、数组

  Kotlin 中的数组是带有类型参数的类,其元素类型被指定为相应的类型参数,使用 Array 类来表示, Array 类定义了 get 与 set 函数(按照运算符重载约定这会转变为 [ ] )以及 size 属性等

  创建数组的方法有以下几个:

  用 arrayOf 函数创建一个数组,包含的元素是指定为该函数的实参

  用 arrayOfNulls 创建一个给定大小的数组,包含的元素均为 null,只能用来创建包含元素类型可空的数组

  调用 Array 类的构造方法,传递数组的大小和一个 lambda 表达式,调用 lambda 表达式来创建每一个数组元素

  

  需要注意的是,数组类型的类型参数始终会变成对象类型,因此声明 Array Int 将是一个包含装箱类型(java.lang.Integer)的数组。如果想要创建没有装箱的基本数据类型的数组,必须使用一个基本数据类型数组的特殊类

  为了表示基本数据类型的数组,Kotlin 为每一种基本数据类型都提供了若干相应的类。例如,有 IntArray、ByteArray、BooleanArray 等类型,这些类型都会被编译成普通的 Java 基本数据类型数组,比如 int[]、byte[]、boolean[] 等,这些数组中的值存储时没有进行装箱,而是使用了可能的最高效的方式

  要创建一个基本数据类型的数组,有以下几种方式:

  向对应类型的类(如 IntArray)的构造函数传递数组大小,这将返回一个使用对应基本数据类型默认值初始化好的数组

  向对应类型的类(如 IntArray)的构造函数传递数组大小以及用来初始化每个元素的 lambda

  向工厂函数(如 charArrayOf)传递变长参数的值,从而得到指定元素值的数组

  

  二、字符串

  Kotlin 与 Java 一样用 String 类型来表示字符串,字符串是不可变的,可以使用索引运算符访问:[] 来访问包含的单个字符,也可以用 for 循环来迭代字符串,此外也可以用 + 来连接字符串

  

  如果你需要在原始字符串中表示字面值($)字符(它不支持反斜杠转义),可以用下列语法:

  

免责声明:文章转载自《Kotlin:数组、字符串模板》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux 多个cpp文件的编译(Makefile)Bootstrap部分---环境安装及一个可视化的布局;下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Google-Guava Concurrent包里的Service框架浅析

原文地址  译文地址 译者:何一昕 校对:方腾飞 概述 Guava包里的Service接口用于封装一个服务对象的运行状态、包括start和stop等方法。例如web服务器,RPC服务器、计时器等可以实现这个接口。对此类服务的状态管理并不轻松、需要对服务的开启/关闭进行妥善管理、特别是在多线程环境下尤为复杂。Guava包提供了一些基础类帮助你管理复杂的状态转...

jprofiler主要功能简介及内存泄漏分析示例

转:https://blog.csdn.net/huangjin0507/article/details/52452946 一、安装JProfiler        从http://www.ej-technologies.com/下载5.1.2并申请试用序列号   二、主要功能简介 1.内存剖析 Memory profiler JProfiler 的内...

阻塞队列和死锁

BlockingQueue        BlockingQueue是并发容器的一种,在J.U.C的包路径下,是线程安全的一种实现,是基于阻塞队列的,该接口提供了相对于Queue的新的put()和take()操作。put()添加元素时,当阻塞队列满的情况下会阻塞下来,当有空间时才能进行添加操作,添加到队列尾部;take()删除元素时,当队列为空时,也会阻塞...

ERP框架开发中的License许可验证机制设计与实现 (包含源代码下载)

ERP框架开发中的License许可验证机制设计与实现 (包含源代码下载) 许可机制是ERP框架中必不可少的一部分,可以有效的保护框架资源在授权范围内应用,增加企业投资的回报。在研究了几种类型的许可机制(序列号注册码,Web服务联机验证,授权License文件)后,最后选定以Signed Xml配合RSA算法,作为许可机制的主要技术实现。 主要达到的目的如...

Java学习笔记(三)——静态导入,package-info,Fall-through

【前面的话】       算是真正的放松了好几天时间,没有看任何书,没有任何任务,今天是过完年后的第一天上班时间,我又开始了我的学习之路,感觉还没有老,怎么心态越来越平静了,进入工作状态,就好好努力工作,新的一年,我会不努力?哈哈。       这篇文章是自己在学习的过程中总会发现一些小的知识点,然后我就记录在这了,基础文章,选择阅读。 【知识汇总】 一、...

vue根据id删除某一行

methods:{ del(id){ //ES6 //根据id查找元素 findIndex //let index = arr.findIndex(function(ele,index,arr){return ele.id==id}) //函数内如果返回true,就结束遍历并返回当前index; //...