![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Kotlin
主要是kotlin记录文档
悟-静
君子忧道不忧贫。
展开
-
android 正序、倒序查找本地文件其中的字符串
正序 fun readTxt(path: String): String { var str = "" var isr: InputStreamReader? = null var br: BufferedReader? = null try { val urlFile = File(path) isr = InputStreamReader原创 2020-10-27 17:03:29 · 569 阅读 · 0 评论 -
Android 逆向环境配置与常用工具介绍
Android逆向- 环境配置与常用工具介绍1. 在开发语言上,需要能够读懂Java,Smali,C++,arm代码,这是对逆向人员的考验。2. 传统的java语言运行时通过jvm将源文件编译成Java字节码运行,Google开发了一个虚拟机运行Android程序,这个虚拟机就是Dalvik,当晚餐源代码开发后,首先将Java源码转换成字节码,然后通过Dx工具,将字节码文件转换成.dex文件,...原创 2020-04-15 21:48:28 · 399 阅读 · 0 评论 -
Kotlin异常
java异常与kotlin异常处理详解kotlin中的try是个表达式,是没有checked exception的。。是运行时异常fun main(args: Array<String>) { val a="1" val result:Int?=try{ a.toInt() }catch (ex:NumberFormatException){...原创 2020-03-04 22:56:13 · 172 阅读 · 0 评论 -
星投影
kotlin星投影详解(star projection)class Star<out T>{}class Star2<in T>{ fun setValue(t:T){ }}class Star3<T>(private var t:T){ fun setValue(t:T){ } fun getValue():...原创 2020-03-04 22:54:05 · 418 阅读 · 0 评论 -
Kotlin协变与逆变
kotlin的协变(out)与逆变(in)详解关于协变与逆变的来源Java中List<String> list =new ArrayList()List<Object> list2=list //编译失败list2.add(new Date()) //list2可以增加进来是object对象interface Collection<E>{ ...原创 2020-03-04 22:52:26 · 377 阅读 · 0 评论 -
java与kotlin互调
Java与Koltin互调fun main(args: Array<String>) { val list=ArrayList<String>() list.add("hello") list.add("world") list.add("hello world") for (item in list){ print...原创 2020-03-04 22:46:07 · 338 阅读 · 0 评论 -
关键字组合详解
关键字(lateinit)详解lateinit(延迟初始化)延迟初始化属性:Kotlin要求非空类型的属性必须要在构造方法中进行初始化。有时这种要求不太方便,比如可以通过依赖注入或是单元测试情况下进行属性的赋值。通过lateinit关键字满足以下条件lateinit只能用在类体中声明的var属性上,不能用在primary constructor声明的属性上属性不能拥有自定义的set...原创 2020-03-04 22:45:03 · 840 阅读 · 0 评论 -
Kotlin集合
Kotlin中的可变集合与不可变集合详解可变集合:map使用fun main(args: Array<String>) { val map = mapOf<String, String>("a" to "aa", "b" to "bb") for ((key, value) in map) { println("key:$key,valu...原创 2020-03-04 22:34:45 · 288 阅读 · 0 评论 -
高阶函数与lambda表达式
高阶函数与lambda表达式Lambda表达式格式要求:一个lambda表达式总是被一对花括号所包围。其参数(如果有的话)位于->之前(参数类型是可以省略的)执行体位于 —>之后val multiply: (Int, Int) -> Int = { a, b -> a * b } //multiply变量接收2个Int参数,并返回一个Int参数,在{}中执行方...原创 2020-03-04 22:31:31 · 381 阅读 · 0 评论 -
Kotlin委托详解
Kotlin 的类委托及委托属性详解类委托属性委托by延迟属性(lazy)-可观测属性(Observable)-非空属性(Delegate.notnull)-map属性(Map<String, Any?>)-提供委托(provideDelegate )类委托class MyDelegation{ operat...原创 2020-03-04 22:30:54 · 386 阅读 · 0 评论 -
Kotlin数据类详解
数据类(data class)数据类需要满足以下要求:主构造函数至少有一个参数所有的主构造方法参数都需要被标记为val或者var数据类不能是抽象的、open的、sealed的以及inner的。对于数据类,编译器会自动生成如下内容:equals/hashcodetoString()方法,形成为Person(name=…,age=…,address=…)针对属性的componen...原创 2020-03-04 22:29:52 · 515 阅读 · 0 评论 -
嵌套类与内部类
嵌套类与内部类详解嵌套类(Nested Class)嵌套类不能访问外部类其他成员,只能访问另外一个嵌套类。例:class OuterClass{ prvate val str:String="hello world" class NestedClass{ fun nestedMethod()="welcme" fun nestedMeth...原创 2020-03-04 22:29:27 · 554 阅读 · 0 评论 -
Kotlin枚举类详解
枚举类详解每个枚举常量都是一个对象。枚举常量用逗号分隔。因为每一个枚举都是枚举类的实例enum class Season{ SPRING,SUMMER,AUTUMN,WINTER}enum class Season2(val temperature:Int){ SPRING(10),SUMMER(10),AUTUMN(10),WINTER(-10) //每个枚举常量都是一...原创 2020-03-04 22:28:02 · 1052 阅读 · 0 评论 -
Kotlin对象表达式
对象表达式(Object expression),对象声明,伴生对象(companion object)详解对象表达式(Object expression)Java当中匿名内部类在很多场景下大量使用。Kotlin的对象表达式就是为了解决匿名内部类的一些缺陷而产生的。匿名内部类是没有名字的类匿名内部类一定是继承了某个父类,或是实现了某个接口Java运行时将该匿名内部类当做它所实现的接...原创 2020-03-04 22:24:47 · 722 阅读 · 0 评论 -
Kotlin扩展详解
kotlin的扩展详解扩展函数class ExtensionTest{ //扩展接收者类 fun add(a:Int,b:Int)=a+b}fun ExtensionTest.substract(a:Int,b:Int)=a-b //扩展函数fun main(args: Array<String>) { val extensionTest=ExtensionT...原创 2020-03-04 22:24:10 · 672 阅读 · 0 评论 -
Kotlin继承
Kotlin 继承在kotlin中,所有类在默认情况下都是无法被继承的,所有类默认情况下都是final的,如需该类被继承加open关键字,方法需被重写也要加open关键字。包括属性重写open class Parent(name: String, age: Int) {}class Child(name: String, age: Int) : Parent(name, age) {}...原创 2020-03-04 22:23:40 · 320 阅读 · 0 评论 -
kotlin 函数以及作用域函数
kotlin 函数详解构造方法在Kotlin中,一个类可以有一个primary构造方法以及一个或多个Secondary构造方法,primary构造方法是类头(class header)的一部分,它位于类名后面,可以拥有若干参数,如果primary构造方法没有任何注解或是可见性关键字修饰,那么construction关键字可省略。class Myclass constructor(user...原创 2020-03-04 22:21:48 · 550 阅读 · 0 评论