Kotlin 用对象表达式和对象声明来实现创建一个对某个类做了轻微改动的类的对象,且不需要去声明一个新的子类。对象表达式通过对象表达式实现一个匿名内部类的对象用于方法的参数中。(object : MouseAdapter() { override fun mouseClicked(e: Mo
kotlin中,如何来比较对象相等?我们都知道比较相等,一般有2种概念:值相等 引用地址相等 ==比较基本数据类型相等,比如Int,Boole,String,其中String可以支持 == 或者equals()来比较相等var a=1 var b=1 a==b // 字符串比较. private
不同于Java中相对中规中矩的通用简一的类定义方式,在Kotlin中有了较多的关键字类定义一些特别的类,比如单例类、伴生、内部类、密封类、数据类等,对比于Java我们来分析一下这些特别的类,会不会让你学的特别累!一、简化的数据类数据类(data class),用于保存元数据的封装类,Java中的PO
在 Java 8中,我们可以使用 Optional 类型来表达可空的类型。package com.easy.kotlin; import java.util.Optional; import static java.lang.System.out; /** * Nullable - 允许传递
Kotlin数据类Kotlin 可以创建一个只包含数据的类,关键字为 datadata class User(val name: String, val age: Int)编译器会自动的从主构造函数中根据所有声明的属性提取以下函数:equals() / hashCode()toString() 格式
Kotlin Coroutines(协程) 大大简化了同步和异步代码。但是,我发现了许多开发者在使用协程时会犯一些通用性的错误。1. 在使用协程时实例化一个新的 Job 实例有时候你会需要一个 job 来对协程进行一些操作,例如,稍后取消。另外由于协程构建器 launch{} 和 async{} 都
Kotlin 的 in 和 out 说起这期是码上开学 Kotlin 系列的独立技术点部分的第一期,我们来聊一聊泛型。提到 Kotlin 的泛型,通常离不开 in 和 out 关键字,但泛型这门武功需要些基本功才能修炼,否则容易走火入魔,待笔者慢慢道来。下面这段 Java 代码在日常开发中应该很常见
嵌套类一个类可以嵌套在另一个类里面:class OuterClass {class NestedClass {funmethod(){println("hello")}}}funmain(){var outerClass = OuterClass.NestedClass() outerCla
序列(Sequence) VS 集合(Iterable) 举个例子:给定一个字符串,过滤长于三个字符的单词,并打印前四个单词的长度Iterable写法:fun main() { val words = "The quick brown fox jumps over the lazy
空类型Kotlin 跟 Java 的最大不同应当就属空类型这点了,使用 Kotlin 开发,IDE 会智能的对可能为空的地方进行报错提示,开发者必须处理该错误,否则连编译都通过不了,从而降低程序 NullPointException 异常的出现几率,所以,一般情况下使用 Kotlin 开发很少见到
要想使用反射,首先需要添加依赖,下面是maven中的依赖:org.jetbrains.kotlinkotlin-reflect根据类获得Class引用class A funmain(){var kClass = A::classprintln(kClass)// kclassprintln(kCl
Kotlin 可以对一个类的属性和方法进行扩展,且不需要继承或使用 Decorator 模式。扩展是一种静态行为,对被扩展的类代码本身不会造成任何影响。扩展函数扩展函数可以在已有类中添加新的方法,不会对原类做修改,扩展函数定义形式fun receiverType.functionName(param
想考察什么?是否真正了解synchronized关键字考察的知识点synchronized关键字的使用、原理、优化等考生应该如何回答1、在Java中,synchronized关键字是一个轻量级的同步机制,也是我们在工作中用得最频繁的,我们可以使用synchronized修饰一个方法,也可以用来修饰一
学习 kotlin 泛型的时候,经常会遇到 in out 这两个词,一会用in 一会用out,为啥这里要用 out ?为啥哪里用 in ?啥什么用 out 啥时候用in ?对应上面问题以前我是晕乎乎的,不是很明白,于是打算写这篇文章梳理一下,搞清楚怎么回事。Java 泛型在学kotlin 泛型之前,
I . Kotlin 高阶函数概念Kotlin 高阶函数 : Kotlin 的高阶函数 , 就是方法的参数 或 返回值 是函数类型的 函数 ;如 :List 集合的 forEach( ) 循环 , 该方法就是接收一个高阶函数类型变量作为参数 , 有点类似于 C/C++ 中的 函数指针 ( 指向函数的
介绍几个特殊的对象语法,这是 Kotlin 语法中独有的。比如对象表达式 (object),天生的单例对象它会使写一个单例模式变得特别简单,而不是像 Java 那样声明一些语法模板。此外伴生对象 (companion object) 它将替代 Java 中的 static 静态成员。1. 为什么需要
Kotlin也有Do while循环语句,它和while循环语句不一样的地方是,Do while语句会将循环体前置,所以代码肯定会先运行一次,Do while语句在实际使用中,相较for循环语句和while循环语句使用较少1.基本的Do While循环语法do{ // While 循环体 }
序列(Sequences)实际上是对应 Java8 中的 Stream 的翻版。从之前文章可以了解到 Kotlin 定义了很多操作集合的 API,没错这些函数照样适用于序列(Sequences),而且序列操作在性能方面优于集合操作。而且通过之前函数式 API 的源码中可以看出它们会创建很多中间集合,
尾递归尾递归就是函数在调用完自己之后没有其他操作的递归,是递归的一种特殊形式。举个例子,"计算斐波那契数列第 n 项"的递归算法有哪些?简单递归实现斐波那契数列第 0、1 位都是 1,从第二位开始,每项是前两位之和,因此用递归算法很容易就能实现出来了:funfib1(n: Int): Int {if
(一)什么是J2EE?JVM?JRE?JDK?(1)J2EE:是为开发企业环境下的应用程序提供的一套解决方案,该技术体系中包含的技术如Servlet、Jsp等,主要针对Web应用程序开发。 (2)JVM:JVM是java虚拟机(JVM Java Virtual Machine),java程序需要运行