自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Lambda和集合总结( 部分)

在集合操作中使用Lambda会使代码变得非常简洁和优雅,但是这种简洁和优雅也是有代价的,就是在Kotlin中使用Lambda表达式会带来一些额外的开销。为了解决这个问题,所以要了解下内联函数。1.调用Java函数式接口textClick.setOnClickListener(object : View.OnClickListener{ override fun onClick(v...

2020-02-24 23:54:58 931

原创 Kotlin总结之协变与逆变

1.为什么List<String>不能赋值给List<Object>?通过反证法看这个问题,如果List<String>能赋值给List<Object>会出现什么情况?public static void main(String[] args) { List<String> strList = new ArrayList...

2020-02-19 23:53:28 1790

原创 Kotlin面向对象总结之泛型(部分,涉及泛型类、泛型参数使用)

范型的优势:1.类型检查,能在编译时就能帮你检查出错误。2.更加语义化,比如声明一个List<String>,可以知道存储的是String对象,而不是其他对象。3.自动类型转换,获取数据时不需要进行类型强制转换。4.能写出更加通用化的代码。在Kotlin中使用泛型1.声明一个泛型类和泛型函数//泛型类可以继承另一个类class PaySmartLi...

2020-02-16 17:29:00 1644 1

原创 Kotlin面向对象总结(Any、Any?、Nothing、自动装箱与拆箱、数组类型)

Java并不能在真正意义上被称作一门“纯面向对象”语言,因为它的基本类型与函数并不能看作对象。在Kotlin类型系统中,并不区分基本数据类型与包装类型。Kotlin类型结构图(选取String、Int、自定义类型)Any;非空类型的根类型与Object作为Java类层级结构的顶层类似,Any类型是 Kotlin 中所有非空类型的超类。对于Kotlin 来说,...

2020-02-15 12:12:15 4037

原创 Kotlin类型系统总结(可空类型、非空断言、类型检查、智能转换、强制转换)

Java如何解决NPE问题?1.函数内对于无效值,更倾向于抛异常处理。特别地,在Java里应该使用专门的自定义Checked Exception。对于经常出现无效值的、有性能需求或在代码中经常使用的函数并不合适。对于自身可取空值的类型,比如说集合类型,通常返回零长度的数组或者集合,虽然会多出内存开销。2.采用@NotNull/@Nullable标注。对于一段复杂的代码,检查参数是否为空是一...

2020-02-14 16:58:38 913

原创 Kotlin代数数据类型总结(部分)

什么是代数数据类型(ADT)?比如通过常见的枚举来创建一个简单的代数数据类型。常见的代数类型是“和”类型与“积”类型。代数:就是能代表数字的符号。像一元方程:x+5=6y*3=21上面的x,y 就是代数,x代表数字1,y代表数字7。对于操作符:“+”和“*”,通过代数和操作符能做什么?x*1=za+2=c像上面的x 与1相乘得到新的代数。a与2相加得到...

2020-02-12 21:21:58 737

原创 kotlin面向对象总结-伴生对象

在Java中,static修饰的内容属于类,而不属于具体对象。在Kotlin中,引入了全新的关键字object,代替使用static的场景。Kotlin中伴生对象——companion object两个关键字。伴生对象,“伴生”是相较于一个类而言的,,意为伴随某个类的对象,它属于这个类所有,因此伴生对象跟Java中static修饰效果性质一样,全局只有一个单例。它需要声明在类的内部,在类被...

2020-02-09 15:32:32 1513

原创 kotlin面向对象总结-数据类

kotlin通过data class创建数据类。package com.example.kotlindemo.classsdemodata class PayDataBird(var weight: Double, var age: Int, var color: String)Kotlin转javapublic final class PayDataBird { pri...

2020-02-07 17:25:25 463

原创 Kotlin面向对象总结-解决多继承的问题

kotlin和Java一样只支持类的单继承。1.接口实现多继承kotlin中的接口与Java很相似,但它除了可以定义带默认实现的方法之外,还可以声明抽象的属性。用kotlin接口实现多继承package com.example.kotlindemo.classsdemointerface PayKFlyer { fun fly() fun kind(...

2020-02-06 16:25:39 1576

原创 Kotlin面向对象总结-访问控制原则

在Java中,如果希望一个类被别人继承或者修改,那么可以使用 final来修饰它。可以用 public、private、protected等修饰符来描述一个类、方法或属性的可见性。Kotlin在默认修饰符的设计上采用了与Java不同的思路。Kotlin相比Java,对一个类、方法或属性有着不一样的访问控制原则。限制修饰符指定一个类、方法或属性的修改或者重写权限时,需要用到限制修饰...

2020-02-05 21:14:42 874 2

原创 Kotlin面向对象总结-构造函数

kotlin中通过class结构体来声明一个类。//Kotlin中的类class PayBird { val weight: Double = 100.0 val color: String = "blue" val age: Int = 1 fun fly() { }}一些特点:1.不可变属性成员。Kotlin用 va...

2020-02-04 11:45:14 394

原创 Kotlin面向对象总结-延迟初始化与主从构造函数

延迟初始化: by lazy 和 lateinitby lazyclass PayFlyAnimal(val weight: Double, val age: Int, val color: String) { val sex: String by lazy { if (color == "yellow") "male" else "female" }...

2020-02-04 09:48:25 1822

原创 Kotlin基础总结(部分二) 字符串

kotlin中字符串的定义和操作fun main() { val str = "hello world!" println("str.length:" + str.length) println("str.substring(0,5):" + str.substring(0, 5)) println(str + " hello!!") printl...

2020-02-01 16:30:12 550

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除