E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Kotlin学习笔记
Kotlin学习笔记
之 10 泛型
首发于公众号:DSGtalk198910.Kotlin泛型泛型约束就是我们在java中看到的TextendsUser,意思就是谁接受的泛型只能是User或者User的子类,在kotlin中我们使用:来代替funList.sum():T{//...}这里直接将放行和拓展函数连在了一块儿。kotlin厉害的地方是提供了多个上界,比如说,我现在需要T既实现了接口A,也实现了接口B,我们无法直接通过T:A
super_shanks
·
2020-02-11 15:05
kotlin学习笔记
(五)
包一个源文件以包声明开始:packagefoo.barfunbza(){}classGoo{}//...源文件的所有内容(比如类和函数)都被包声明包括。因此在上面的例子中,bza()的全名应该是foo.bar.bza,Goo的全名是foo.bar.Goo。如果没有指定包名,那这个文件的内容就从属于没有名字的"default"包。默认导入许多包被默认导入到每个Kotlin文件中:--kotlin.*
松爱家的小秦
·
2020-02-11 14:25
Kotlin学习笔记
之 20 内联函数
首发于公众号:DSGtalk198920.内联函数关键字inline高阶函数需要传入的函数参数最终都会通过对象的方式去使用,而为了提升性能,我们需要使用inline关键字去修饰内联函数,内联函数可以直接将方法体编译至调用处。//kotlinfunnotInlineFun(){vala=1Lvalb="123"}inlinefuninlineFun(){valc=2Lvald="456"}funma
super_shanks
·
2020-02-10 22:34
Kotlin学习笔记
之 26 反射
首发于公众号:DSGtalk198926.反射函数引用我们用::加上函数名的方式表示函数的引用。我们有这样一个需求,结合我们上面说过的高阶函数,高阶函数通常和面需要传入的是一个函数。就比如List类的filter这个高级函数。publicinlinefunIterable.filter(predicate:(T)->Boolean):List{returnfilterTo(ArrayList(),
super_shanks
·
2020-02-10 15:47
Kotlin学习笔记
之 18 函数
首发于公众号:DSGtalk198918.函数默认参数override复写的方法不允许出现默认参数。varargvararg关键字表示传入的是数组,如下的方法传入的是String字符串数组funfoo(varargstrings:String){}如果我们需要通过指定的方式传入的话需要注意以下问题funmain(){foo(strings=*arrayOf("a","b","c"))}string
super_shanks
·
2020-02-10 06:27
Kotlin学习笔记
之 5 类和对象
首发于公众号:DSGtalk19895.Kotlin类和对象构造器kotlin中一个类只能有一个主构造器和一个或多个次构造器。主构造器可以直接跟在class定义的类名后面但是没有方法体,如下:classPersonconstructor(s:String){}//也可以写成这样,记得,没有空格classPerson(s:String){}//一旦构造函数存在修饰符或者是注解的情况下,我们就不能省去
super_shanks
·
2020-02-09 03:10
kotlin学习笔记
-基本数据类型
自从2017年中旬Google大会将kotlin作为Android的官方语言,至今也有将近一年的时间了,趁这段时间正好整理了下我学习kotlin的一些见解与笔记,将它以文章的形式发布出来。这段时间我将以八篇文章的形式将所学的kotlin分享出来,这是kotlin的第一篇。基本数据类型类、成员、表达式继承、单例、数据类高阶函数DSL协程kotlin中的反射kotlin中的泛型什么是kotlin首先我
码字农民工
·
2020-02-06 11:11
kotlin学习笔记
kotlin基础知识基础语法kotlin中的特殊语法object创建匿名内部类的写法kotlin中声明单例的写法object修饰的类是单例类objectTest{fungetData(s:String):String{returns}}funmain(args:Array){Test.getData("")}String!只会在java和kotlin互调的时候出现:编译器认为是一个java类型却用
大泽苦哈哈
·
2020-01-19 23:20
Kotlin学习笔记
(二)
val优先于varfor循环for(c:Charins)s.forEach{}s.forEachIndex{index,c->}break跳出整个循环continue跳出当前循环return跳出当前方法从标签处跳出循环loop@for()break@loopwhile循环和java一样区间varrange=1..100IntRangevarrange=a..zCharRangefor((index
陈坚持_9286
·
2020-01-08 04:42
Kotlin学习笔记
(三)---Kotlin密封类
前言密封类,可以理解为枚举,规定了有限个类型,不可以存在其他类型,但枚举每个枚举常量只存在一个示例,但是密封类的子类可以有多个示例,所以可以将密封类看做是枚举的拓展,基于枚举,高于枚举,青出于蓝而胜于蓝。正文密封类和普通类的区别,在于密封类使用了sealed修饰符,虽然密封类也可以有子类,但是所有子类都必须在与密封类自身相同的文件中声明。还是上栗子:sealedclassTime{}datacla
T9的第三个三角
·
2020-01-05 23:27
Kotlin学习笔记
一之基础语法
语法记录写在前面一、题记本文中的内容全部参考的《Kotlin官方参考文档中文版》,本文只是做学习笔记,以供自己及他人学习方便,并不是原创,感谢原创!写在前面二、main方法在AndroidStudio中直接运行的说明1、创建Kotlin文件创建Kotlin文件.png2、创建完成后基本上只有包的路径地址,其它什么都没有创建后的Kotlin文件.png3、创建main方法创建main方法.png4、
天天小志
·
2020-01-05 22:11
kotlin学习笔记
之——写一个完整类
Kotlin的类怎么写?Kotlin怎么继承一个类?Kotlin怎么描述跳转方法launch()?Kotlin怎么利用intent传值?Kotlin怎么获取EditText的值?以下写一个完整的类实现了上面的问题:、、、classAddUserDeliveryRemarkActivity:BaseNotifityActivity(){companionobject{funlaunch(contex
筱宓dawnLing
·
2020-01-05 22:34
kotlin学习笔记
之lambda
语法一个lambda把一小段行为进行编码,你能把它当作值到处传递。它可以被独立地声明并存储到一个变量中。但是更常用的还是直接声明它并传递给函数。//箭头前面的是参数,箭头后面的是函数体//始终在花括号内{x:Int,y:Int->x+y}//可以把lambda表达式存储在一个变量中,把这个变量当作普通函数对待(即通过相应实参调用它)valsum={x:Int,y:Int->x+y}println(
大荒里种菜
·
2020-01-03 00:50
Kotlin学习笔记
(9)- 数据类
Kotlin学习笔记
(1)-环境配置
Kotlin学习笔记
(2)-空安全
Kotlin学习笔记
(3)-语法
Kotlin学习笔记
(4)-流程控制
Kotlin学习笔记
(5)-类
Kotlin学习笔记
(6)-属性
Kotlin
我爱吃栗子啊
·
2020-01-01 19:22
Kotlin学习笔记
一:基本语法
学习官方教程并做个笔记条件表达式可以直接用条件表达式来写函数funmain(args:Array){println(max(args[0].toInt(),args[1].toInt()))}//kotlin不支持三目运算符。。。funmax(a:Int,b:Int)=if(a>b)aelseb空指针检查//ReturnnullifstrdoesnotholdanumberfunparseInt(
Eric_Hu
·
2020-01-01 00:23
kotlin学习笔记
——泛型及reified函数
Kotlin学习笔记
系列:http://blog.csdn.net/column/details/16696.htmlkotlin中的泛型与java中的差不多classTypedClass(param:
chzphoenix
·
2019-12-30 16:47
Kotlin学习笔记
-[优缺点]
前言kotlin作为官方认证的Android的首先开发语言,其优势自然不言而喻。优势从上一篇编译过程,我们也大致了解到经过词法分析,语法分析,语义分析,而后转化为中间代码,最后生成java字节码,这一步,也是可以转化为其他类型的代码的。完美支持java,和原生java交互。支持js。现代工程实践的完美产物。提倡组合,少用继承,类定义默认为final。空安全。扩展和委托。IDEA的完美支持,接入特别
王岩_shang
·
2019-12-28 04:55
Kotlin学习笔记
(一)
之前很早就想学一下Kotlin,因为项目中用不到加上自身有点偷懒,所以一直没用付诸行动,但是Google宣布官方支持Kotlin以后,发觉真的有必要学习一下Kotlin了,本文是根据Kotlin官方中文教程所记得一.基础1.1基础类型Kotlin不支持八进制判断引用相等用===;判断结构相等用==(即通常的值判断)数字装箱不会保留同一性,但保留相等性vala:Int=1000valboxedA:I
王小宝wy
·
2019-12-27 07:54
Kotlin 学习笔记(二)基本类型
Kotlin学习笔记
(二)基本类型这是一个Kotlin系列的教程,目的是为了使自己记忆和理解的更加深刻,将会添加对应的Java代码用于对比学习和更好的理解。
真的有照片
·
2019-12-26 13:11
Kotlin学习笔记
(三十六)属性与参数的区别
在Kotlin中,若在类的构造方法用val或者var关键词声明参数,该参数就将成为类的属性,系统会自动生成getter和setter方法,并在构造函数中为相应的属性赋值;若不用val或者var声明参数,该参数就只是类构造器中的参数。Kotlin代码如下:classAA(a:Int)classBB(valb:Int,varc:String)其对应的Java代码如下:publicfinalclassA
lkmc2
·
2019-12-23 17:40
Kotlin学习笔记
(三十五)属性代理
/***属性代理*1.类中的val和var属性都可以使用代理进行延迟加载*2.类中的val属性对应的代理需要有getValue()方法*3.类中的var属性对应的代理需要有getValue()和setValue()方法*/classDelegates{valhelloWorldbylazy{//此处的bylazy是使用了Lazy.kt中的getValue()方法"HelloWorld"}valhe
lkmc2
·
2019-12-23 04:45
Kotlin学习笔记
(一)
云端IDE:https://try.kotlinlang.org/Kotlin是运行在JVM环境下的语言。首先我们要有JDK环境。Kotlin简洁,规避掉了空值异常,与java100%兼容,协程、DSL入口函数:funmain(args:Array){}基本数据类型(8种):byte、int、float、char、double、long、boolean、shortvar+变量名称+变量类型如:va
陈坚持_9286
·
2019-12-22 07:16
Kotlin学习笔记
(一)---从零学习Kotlin
关于KotlinAndroid开发目前火到不行的语言,17年IO大会推出Android官方开发语言,相信每个人都或多或少有了解,关于Kotlin的起源以及作用,不用再阐述,已经有有心人整理好了Kotlin官网中Android部分Kotlin中文网站Android遇上Kotlin|第一部分第一课:Kotlin若只如初见Kotlin资源大全-学Kotlin看这一篇教程就够了有了这几篇文章,其实已经能对
T9的第三个三角
·
2019-12-17 12:18
kotlin学习笔记
之扩展函数(anko)和网络请求
Kotlin学习笔记
系列:http://blog.csdn.net/column/details/16696.htmlanko是一个强大的库,主要目的是替代以前xml的方式来使用代码生成布局。
chzphoenix
·
2019-12-17 02:17
Kotlin学习笔记
(二)
二、数组和集合1、数组Kotlin的数组是Array类的一个实例1.1创建数组大致有两种方式使用arrayOf()、arrayOfNUlls()、emptyArray()工具函数使用Array(size:Int,init:(Int)->T)构造器下面代码示范了创建数组//创建包含指定元素的数组vararr1=arrayOf(1,2,3)//创建指定长度,元素为null的数组,必须指定泛型的值var
yaohuix
·
2019-12-16 00:45
Kotlin学习笔记
(一)
本笔记是基于李刚的《Kotlin讲义》整理出来的,若有错误欢迎指出。一、基础语法1、概述1.1注释单行注释://多行注释:/*...*/文档注释:/**...*/1.2变量可以使用val|varvariableName[:type][=initData]声明变量,其中val声明的变量是值不可变的。==必须指定变量类型或初始值==。vara=11//指定初始值varb:Int//指定变量类型varc
yaohuix
·
2019-12-15 11:29
Kotlin学习笔记
(九)for循环
funmain(args:Array){for(arginargs){//普通for语句println(arg)}for((index,value)inargs.withIndex()){//带下标和值的for语句1println("$index->$value")}for(indexValueinargs.withIndex()){//带下标和值的for语句2println("${indexVa
lkmc2
·
2019-12-13 06:10
kotlin学习笔记
(三)
代码风格本页包含了当前kotlin语言的代码风格。命名风格如有疑惑,默认为Java编码约定,比如:--使用骆驼命名法(在命名中避免下划线)--类型名称首字母大写--方法和属性首字母小写--缩进用四个空格--public方法要写说明文档,这样它就可以出现在KotllinDoc中冒号在冒号区分类型和父类型中要有空格,在实例和类型之间是没有空格的:interfaceFoo:Bar{funfoo(a:In
松爱家的小秦
·
2019-12-12 00:22
Kotlin学习笔记
(三)
When句型when(s){1->print2..100->else->}when可以不加参数when{s==1->}varresult=when(){}返回值是最后一行获取函数引用varaddfun=::add()可变参数funnewAdd(varargparams:Int):Int{}params就是一个数组顶层函数、嵌套函数异常处理kotlin无编译时异常递归Kotlin支持尾递归函数,允许
陈坚持_9286
·
2019-12-07 14:03
kotlin学习笔记
一
1.HelloWorldfunmain(args:Array){//相当于Java的main()函数println("HelloKotlin!")2.Kotlin当中的基本数据类型(与Java有些不同)Kotlin当中的基本数据类型基本上和Java差不多,但是不存在装箱和拆箱的概念,还有就是声明那可真不太一样:变量的声明涉及到两个关键字:Kotlin中有两个关键字定义变量,这两个关键字外形看着差别
wfunny
·
2019-12-07 03:52
kotlin学习笔记
一
kotlin开发app官方支持已经有很长的一段时间了,感觉是时候开始学习和应用它的时候了。所以,准备开始startkotlin吧!var声明变量?表示可以为空$表示取值when替代switch,else替代default函数表达式正常写法大括号形式:vara={参数->函数体}提前定好函数类型:vara:(参数类型)->返回值类型={参数名->函数体}修饰符:默认为publicprivatepro
Jeff_洋
·
2019-12-06 17:50
kotlin学习笔记
二
1.val和var声明可变和不可变变量val:用于声明不可变的变量,不可变指的是引用不可变,相当于Java当中的finalvar:用于声明可变的变量funmain(args:Array){vala="a是不可变的变量"//不可变varanother=3//可变println(a)println(another)}2.fun函数Kotlin中的函数可以这样声明:fun函数名(参数列表):返回值类型{
wfunny
·
2019-12-06 09:17
Kotlin学习笔记
(三十四)拓展方法
/***拓展方法*1.拓展方法可以在直接不改变原类的的基础上,给该类添加原本没有的方法*2.拓展属性可以给类添加原本没有的属性,但由于没有filed幕后字段,不能直接使用=赋值,*只能使用getter和setter,而filed不起效,所以setter没啥用*/funString.multiply(count:Int):String{//拓展方法valstringBuilder=StringBui
lkmc2
·
2019-12-01 22:37
Kotlin学习笔记
目录
入门一项语言并不难,难的是持之以恒的深耕。##:Kotlin和Java代码互相转换一、Kotlin基础篇 Kotlin基础认识 Kotlin基础认识(1)标识符 Kotlin基础认识(2)变量、常量、注释、包 Kotlin基础认识(3)编码规范 Kotlin基础认识(4)数据类型 Kotlin基础认识(5)可空数据类型 Kotlin基础认识(6)字符串 Kotlin基础认识(7)运算
狼性代码人
·
2019-12-01 10:46
Kotlin学习笔记
(五十二)函数复合
***函数复合*f(g(x))*可以使用拓展函数进行函数的复合,以进行函数调用的简化*/valadd5={i:Int->i+5}//g(x),lambda表达式,返回i+5valmultiplyBy2={i:Int->i*2}//f(x),lambda表达式,返回i*2funmain(args:Array){println(multiplyBy2(add5(8)))//(5+8)*2valadd5
lkmc2
·
2019-11-08 10:14
Kotlin学习笔记
(一) 基本数据和类型
最近公司一个新项目是用kotlin写的所以把一些自己学习过程中的知识点做一下记录。Kotlin一种众多运行于JVM虚拟机上的静态类型编程语言,也可以被编译成JS源代码。基于JVM编程,这意味着Kotlin可以写服务器代码基于Android和Browser编程,这意味着不仅可以写客户端编程,连前端开发都可以基于Native编程,直接绕过JVM与底层代码打交道,好彪悍编写KotlinAndroid项目
总是擦破皮
·
2019-11-07 18:50
Kotlin学习笔记
(二)
1.构造函数在Kotlin中的⼀个类可以有⼀个主构造函数和⼀个或多个次构造函数。主构造函数是类头的⼀部分:它跟在类名后。classPersonconstructor(firstName:String){}如果主构造函数没有任何注解或者可⻅性修饰符,可以省略这个constructor关键字。classPerson(firstName:String){}主构造函数不能包含任何的代码,初始化的代码可以放
武穆遗书
·
2019-11-07 02:16
Kotlin学习笔记
(二十二)类成员2
/***属性:类范围内的常量或变量*方法:类范围内的函数*kotlin自动为类的变量设置getter和setter,类中成员变量的默认访问权限是public*属性初始化*1.属性的初始化尽量在构造方法中完成*2.无法在构造方法中初始化,尝试降级为局部变量*3.var用lateinit延迟初始化,val用bylazy*4.可空类型谨慎用null直接初始化*/classA{varb=0varc=0ge
lkmc2
·
2019-11-06 17:58
kotlin学习笔记
——委托属性
Kotlin学习笔记
系列:http://blog.csdn.net/column/details/16696.html委托属性kotlin提供了将属性委托到一个类的方法,就是委托属性。
chzphoenix
·
2019-11-06 00:49
Kotlin 学习笔记(一) Kotlin初识
Kotlin学习笔记
(一)Kotlin初识这是一个Kotlin系列的教程,目的是为了使自己记忆和理解的更加深刻,将会添加对应的Java代码用于对比学习和更好的理解。
真的有照片
·
2019-11-05 22:30
Kotlin学习笔记
(五十四)偏函数
/***偏函数*1.偏函数是在科理化的基础上得来*2.原函数传入部分参数后得到的新函数*/funlog3(tag:String,target:OutputStream,message:Any?){//打印日志target.write("[$tag]$message\n".toByteArray())//将日志信息写入输出流}funFunction3.curried3()//将科理化抽象成拓展函数=
lkmc2
·
2019-11-05 06:27
Kotlin学习笔记
-控制语句
一、if语句1、传统写法(同Java写法一样)varnumA=2if(numA==2){println("numA==$numA=>true")}else{println("numA==$numA=>false")}2、Kotlin中的三元运算符在Kotlin中其实是不存在三元运算符(condition?then:else)这种操作的。那是因为if语句的特性(if表达式会返回一个值)故而不需要三元
smallestt
·
2019-11-03 15:56
Kotlin学习笔记
记录
关键字:var:定义变量val:定义常量fun:定义方法Unit:默认方法返回值,类似于Java中的void,可以理解成返回没什么用的值vararg:可变参数$:字符串模板(取值)位运算符:or(按位或),and(按位与),shl(有符号左移),shr(有符号右移),ushr(无符号右移),xor(按位异或),inv(按位取反)in:在某个范围中downTo:递减,循环时可用,每次减1step:步
x小明
·
2019-11-03 10:48
Kotlin学习笔记
(三十三)方法重载与默认参数
/***方法重载*1.方法重载只与参数类型有关系*2.返回值类型不同不能当成一个新的方法重载*3.加上@JvmOverloads注解之后,可以在java文件中使用默认参数的重载*/classOverloads{funa():Int{//a方法return0}//@JvmOverloadsfuna(x:Int=0):Int{//a方法的重载returnx}}funmain(args:Array){v
lkmc2
·
2019-11-03 10:33
Kotlin 学习笔记(1)基本语法
Kotlin学习笔记
(1)基本语法关于Kotlin的安装,Androidstudio3.0及以上自带,其他的可以通过搜索插件Kotlin来进行安装。下面来说说有关Kotlin的语法。
tutu__oo
·
2019-11-02 17:13
Kotlin学习笔记
(二):面向对象
前言本次的学习笔记,我们来学习kotlin中的面向对象,相信所有之前用过java的同学学起来应该都是无压力的。类我们先来看看kotlin是如何定义类的,kotlin中类的声明使用关键字class这和java没有什么区别,类声明是由类名和类头(参数类型,主构造函数等)加上大括号构成如果一个类没有主构造函数,那么大括号也是可以省略的。classPerson{}构造函数classPersonconstr
笔头
·
2019-11-02 07:16
Kotlin学习笔记
(十九)捕获异常
funmain(args:Array){try{valx=args[0].toInt()valy=args[1].toInt()println("$x+$y=${sum4(x,y)}")}catch(e:NumberFormatException){println("您确定传入的是整数吗?")}catch(e:ArrayIndexOutOfBoundsException){println("您确定
lkmc2
·
2019-11-01 05:25
Kotlin学习笔记
(一)
最近用Kotlin做了个小项目,用这个系列记录一下关于Kotlin的一些学习笔记,分享给大家。使用Kotlin如果你的AndroidStudio已经是3.0以上的版本,那么其已经支持Kotlin,不需要其他步骤。如果你的AndroidStudio版本小于3.0,那么可以安装Kotlin的插件,然后就可以编写Kotlin了。安装步骤为:File-Settings-Plugins-BrowseRepo
EoniJJ
·
2019-11-01 04:38
Kotlin学习笔记
(四十二)高阶函数
/***高阶函数*1.高阶函数的用法是把函数当作参数或者返回值*2.直接引用包级函数在函数前面加两个冒号,类似::println*3.引用成员函数(类里面定义的函数)需以类名::函数名的形式*/funmain(args:Array){//直接引用包级函数(包级函数是直接定义在文件在外面,不定义在类里面的函数)args.forEach(::println)valdoSomething=Panda::
lkmc2
·
2019-11-01 00:45
kotlin学习笔记
——lambda表达式
Kotlin学习笔记
系列:http://blog.csdn.net/column/details/16696.html先简单说说lambda表达式:(Typea,Typeb,...)->{...}左边是参数
chzphoenix
·
2019-10-31 21:44
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他