Kotlin简介
简介Kotlin (cot-lin) 是一种针对 Java 平台的编程语言。大概与 2010 年Kotlin诞生于 JetBrains 公司 (就是那个开发了很多很好用的 IDE 的公司)。Kotlin 以靠近俄罗斯圣彼得堡的一座岛屿命名 (我觉得这个应该是学习 Java 的)。Kotlin 的特性是简洁 , 安全,实用,专注于和 Java 的互操作性。可以应用在服务...
2024-01-10在Kotlin晃来晃去
我有这种怀疑的家伙,我不知道;任何需要了解的例子都会很棒。 Kotlin编程语言是否患有“悬挂其他”问题? 如果问题存在,那么在这种情况下是什么原因?在Kotlin晃来晃去回答:Kotlin使用与java相同的方法来解决悬空问题。 “else”关键字自动链接到最近的“if”或“when”关键字。 https://kotlinlang.org/...
2024-01-10Kotlin 你好,世界
示例所有Kotlin程序都从该main功能开始。这是一个简单的Kotlin“ Hello World”程序的示例:package my.programfun main(args: Array<String>) { println("Hello, world!")}将上面的代码放入一个名为的文件中Main.kt(此文件名完全是任意的)以JVM为目标时,该函数将作为类的静态方法编译为具有从文件名派生的名称的...
2024-01-10Kotlin的静态内部类
Inner static Class如果存在Kotlin语言,可以用什么替代方法?如果没有,当我需要staticclass在Kotlin中使用时如何解决此问题?请参见下面的代码示例: inner class GeoTask : AsyncTask<Util, Util, Unit>() { override fun doInBackground(vararg p0: Util?) { LocationUtil(this@DisplayMembers).startLocationUpdat...
2024-01-10Kotlin中常见的符号详解
前几年的Google I/O大会上,Google正式宣布,Kotlin将会成为Android开发的官方支持语言。除了Android外,Kotlin还可以完全作为服务端开发的语言,比如在未来的Spring 5就将对Kotlin提供强大的支持。以及浏览器编程语言,与JS进行交互。Kotlin是一门静态语言,支持多种平台,包括移动端、服务端以及浏览器端,...
2024-01-10Kotlin基础学习之位运算
什么是位运算?程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算说穿了,就是直接对整数在内存中的二进制位进行操作。比如,and运算本来是一个逻辑运算符,但整数与整数之间也可以进行and运算。举个例子,6的二进制是110,11的二进制是1011,那么6 and 11的结果就是2,它是二进制...
2024-01-10详解Kotlin的空指针处理
详解Kotlin的空指针处理Kotlin的空指针处理相比于java有着极大的提高,可以说是不用担心出现NullPointerException的错误,kotlin对于对象为null的情况有严格的界定,编码的阶段就需要用代码表明引用是否可以为null,为null的情况需要强制性的判断处理。咋看一下这些在java里面其实也有,问题是一般开发中不...
2024-01-10Kotlin中的静态初始化块
Kotlin中的静态初始化块等效于什么?我了解Kotlin的设计宗旨是不带静电。我正在寻找具有等效语义的东西-首次加载该类时,代码将运行一次。我的特定用例是,我想从AndroidAppCompat库启用DayNight功能,并且说明要求将一些代码放入Application类的静态初始化块中。回答:从某种角度看,Kotlin中的companion...
2024-01-10Kotlin可见性修饰符详解
目录一、 四种修饰符的说明二、在不同场景下各个修饰符声明的范围讲解2.1、在包(package)中声明,即顶层声明的情况2.1.1、测试同一个文件中声明不同的修饰符的范围2.1.2、测试不同文件中声明不同的修饰符的范围2.1.3、小结2.2、在类(class)和接口(interface)中声明的情况2.2.1、测试在类中声明的情况2.2.2、...
2024-01-10在 Kotlin 中扩展数据类
数据类是保存应用程序数据的类。它就像我们在 Java 中用来保存数据的 POJO 类。在 Java 中,对于数据类,我们需要创建getter和setter方法来访问该类的属性。在 Kotlin 中,当一个类被声明为数据类时,编译器会自动创建一些访问该类成员变量所需的支持方法。编译器将为构造函数参数创建getter和setter , ha...
2024-01-10Kotlin 基础语法详细介绍
Kotlin 基础语法详细介绍基础语法定义包名包名的定义应当在源文件的头部package my.demoimport java.util.*// ...文件路径和包名并不要求匹配,源文件可以被放置在文件系统任意位置参考:包定义函数函数有两个Int类型参数和Int类型返回值:fun sum(a: Int, b: Int): Int { return a + b}函数体中只有一个表...
2024-01-10Kotlin类型系统竟如此简单
Quote在学习 Kotlin 的过程中,对 Kotlin 的类型系统产生了好奇,Kotlin 是否存在类似于 Java 中 Object 的公共基类?Kotlin 中是否也有类似于 Java 基础类型这样的单独分支?在研究一番过后,博主发现相较于 Java,Kotlin 交出了更为满意的答案,而且出乎意外地简单,只需要遵循简单的规则,便能理解整个类型...
2024-01-10【安卓】Kotlin 类型进阶
一、前言<font face= 黑体>在 Kotlin 泛型(上) 中我们已经将 Kotlin 的 泛型基础 讲完了,想要学习泛型进阶,我们要先了解几个类。二、数据类 data class2.1、数据类的定义<font face= 黑体>只需要在一个普通类的前面加一个 data,普通类就变成了数据类了,可以将它和 Java 的 JavaBean 做类比,如下:data class B...
2024-01-10深入理解Kotlin的泛型系统
前言Kotlin 的泛型与 Java 一样,都是一种语法糖,只在源代码里出现,编译时会进行简单的字符串替换。泛型是静态类型语言中不可缺少的一部分,Kotlin 的泛型定义和使用都类似 Java,但也有一些基于工程实践考虑的优化和改进。泛型(Generics)其实就是把类型参数化,真正的名字叫做 类型参数,它...
2024-01-10Kotlin构建安卓应用的知识点
了解 Kotlin ,以及使用它的优势Kotlin是一种在 Java虚拟机上执行的静态型别编程语言,它主要是由俄罗斯圣彼得堡的JetBrains开发团队所发展出来的编程语言。可以提高开发者的工作效率,并提升开发者的工作愉悦度。优势 1: 可与 Java 互操作与 Android SDK 和 Java 程序语言库兼容,Kotlin 代码中可...
2024-01-10Kotlin中日志的使用方法详解
1 引言想必学过Java的人都知道一个@Slf4j使用得多么的舒服:@Slf4jpublic class TestController{ @GetMapping("/test") public String test(){ log.debug("debug"); return "test"; }}但是很不幸在Kotlin中并没有这种注解,因此,本文给出了一种类似@Slf4j注解在Kotlin中的使用方法,以及介绍一个100%使用Kotlin编写的日志库。2 ...
2024-01-10Kotlin线程同步的几种实现方法
目录1. Thread.join()2. Synchronized3. ReentrantLock4. BlockingQueue5. CountDownLatch6. CyclicBarrier7. CAS8. Future9. CompletableFuture10. RxJava11. Coroutine12. Flow总结面试的时候经常会被问及多线程同步的问题,例如:“ 现有 Task1、Task2 等多个并行任务,如何等待全部执行完成后,执行 Task3。”在 Kotlin 中我们有多种实现方式,...
2024-01-10在 Kotlin 中引发自定义异常
异常是任何编程语言的一个重要方面。它可以防止我们的代码在运行时生成不正确的输出。Kotlin 中的异常概念与 Java 中的异常概念非常相似。Kotlin 中的所有异常都是Throwable类的后代。在 Kotlin 中,开发人员确实有权创建自己的自定义异常。自定义异常是未经检查的异常的一部分,这意味着它们将在运...
2024-01-10【安卓】Kotlin 中的类与接口
一、前言<font face= 黑体>在 Kotlin 学习笔记之内置类型(1)和 Kotlin 学习笔记之内置类型(2)中我们已经讲了 Kotlin 内置类型中的基本类型、数组、区间、集合框架和函数。二、Kotlin 中的类和接口2.1、类的定义Java:// 简单的类public class SimpleClass {}// 有属性和方法的类public class SimpleClass {public int x;pu...
2024-01-10Kotlin系列之Kotlin基础
本篇内容包括Kotlin 中声明函数,变量,类,枚举,属性Kotlin 中的控制结构Kotlin 的智能类型转换Kotlin 对异常的处理<p>看完这篇文章后读者应该能够看懂用 Kotlin 编写的代码,同时学到一些 Kotlin 具有的特性,比如智能类型转换。还会看到 Kotlin 和 Java 一些不同的地方。 当然这些不同之处都是从实用...
2024-01-10如何在 Kotlin 中获取随机数?
Kotlin 提供了多种生成随机数的方法。在本文中,我们将看到生成随机数并在整个程序中访问它的不同方法。示例 – 使用 Random 类Random()是一个抽象类,它在给定条件下生成随机数。导入Kotlin.random.Random 后即可访问。根据 Kotlin 文档,伴随对象Random.Default是Random类的默认实例。在下面的示例中,我们将使...
2024-01-10Kotlin中的5种单例模式示例详解
前言最近在学习Kotlin这门语言,在项目开发中,运用到了单例模式。因为其表达方式与Java是不同的。所以对不同单例模式的实现进行了分别探讨。主要单例模式实现如下:饿汉式懒汉式线程安全的懒汉式双重校验锁式静态内部类式PS:该篇文章不讨论单例模式的运用场景与各种模式下的单例模式...
2024-01-10【安卓】Kotlin 表达式与运算符
一、前言<font face= 黑体>在 Kotlin 中的类与接口 和 Kotlin 空类型安全与智能类型转换 中我们已经将 Kotlin 中的类型初步讲完了,今天我们来讲 Kotlin中的表达式。二、分支表达式2.1、if else 表达式Kotlin:if (a == 3) {c = 4} else {c = 5}<font face= 黑体>上面代码可以等价写成下面这种形式:c = if (a == 3) 4 else 5 2....
2024-01-10Kotlin是否需要NotNull?
我有一堂课:class User( var name: String)并映射后的请求:@PostMapping("/user")fun test(@Valid @RequestBody user: User) { //...}如果客户端将使用发送用户的JSON name:null怎么办?它会被MVC验证程序拒绝还是会引发异常?我应该注释name用@NotNull?不幸的是,我无法进行检查,因为只能编写测试(无法创建User(null...
2024-01-10如何在 Kotlin 延迟后调用函数?
Kotlin 基于 Java,因此我们可以使用基于 Java 的库函数来延迟函数调用。在本文中,我们将使用 Java 库函数来延迟函数调用,使用Timer()和schedule()。示例import java.util.Timerimport kotlin.concurrent.schedulefun main(args: Array<String>) { //执行起点 println("你好世界!!") //延迟 5 秒 Timer().schedule(5000...
2024-01-10