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的静态内部类
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 你好,世界
示例所有Kotlin程序都从该main功能开始。这是一个简单的Kotlin“ Hello World”程序的示例:package my.programfun main(args: Array<String>) { println("Hello, world!")}将上面的代码放入一个名为的文件中Main.kt(此文件名完全是任意的)以JVM为目标时,该函数将作为类的静态方法编译为具有从文件名派生的名称的...
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可见性修饰符详解
目录一、 四种修饰符的说明二、在不同场景下各个修饰符声明的范围讲解2.1、在包(package)中声明,即顶层声明的情况2.1.1、测试同一个文件中声明不同的修饰符的范围2.1.2、测试不同文件中声明不同的修饰符的范围2.1.3、小结2.2、在类(class)和接口(interface)中声明的情况2.2.1、测试在类中声明的情况2.2.2、...
2024-01-10Kotlin中的静态初始化块
Kotlin中的静态初始化块等效于什么?我了解Kotlin的设计宗旨是不带静电。我正在寻找具有等效语义的东西-首次加载该类时,代码将运行一次。我的特定用例是,我想从AndroidAppCompat库启用DayNight功能,并且说明要求将一些代码放入Application类的静态初始化块中。回答:从某种角度看,Kotlin中的companion...
2024-01-10Kotlin中的注释不起作用
我想将我的Android应用程序从Java转换为Kotlin。 对于应用程序快捷方式,我使用shortbread库,它非常易于实现,但它在Kotlin中不起作用。难道我做错了什么 ?Kotlin中的注释不起作用的Java:@Shortcut(id = "Camera", icon = R.drawable.iconshortcut,longLabel = "Instant Scan", shortLabel = "Scan") public class CameraActivity extends AppC...
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中的协程
产生背景为了解决异步线程产生的回调地狱//传统回调方式api.login(phone,psd).enquene(new Callback<User>(){ public void onSuccess(User user){ api.submitAddress(address).enquene(new Callback<Result>(){ public void onSuccess(Result result){ ... } }); }});//使用协程后val user=api.login(phone,p...
2024-01-10Kotlin中单利常用的五种写法
前言单利模式是写代码过程中不可避免用到的,下面我总结一下单利常用的五种写法,话不多说了,来一起看看详细的介绍吧加载类时创建单利Java实现public class Config{ private static Config INSTANCE=new Config(); private Config(){ //构造函数 } public static Config getInstance(){ return INSTANCE; }}Kotlin实现object Config...
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-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 提供了多种生成随机数的方法。在本文中,我们将看到生成随机数并在整个程序中访问它的不同方法。示例 – 使用 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-10【安卓】Kotlin 集合的变换与聚合
一、前言<font face= 黑体>在 Kotlin 高阶函数与内联函数 中我们已经将 Kotlin 的 高阶函数 和 内联函数 讲完了,今天我们来讲 Kotlin 的 集合变换与聚合。二、集合变换与聚合2.1、集合的变换操作<font face= 黑体>对于集合来说,最常见的使用方式就是对集合进行遍历,我们来看一下 Java 和 Kotlin 的遍历集合...
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如何检查 Kotlin 中的泛型类型?
在本文中,我们将了解如何获取 Kotlin 中使用的类的类型。在 Kotlin 中没有直接的方法可以做到这一点。为了检查泛型类型,我们需要创建泛型 class<T>的实例,然后我们可以将其与我们的类进行比较。示例 – 如何比较 Kotlin 中的泛型类型对于这个例子,我们将创建一个type<T>的泛型类,我们将在这个类中...
2024-01-10如何在Kotlin中创建匿名接口实例?
我有一个第三方Java库,该对象的接口如下:public interface Handler<C> { void call(C context) throws Exception;}我如何像Java匿名类一样在Kotlin中简洁地实现它:Handler<MyContext> handler = new Handler<MyContext> { @Override public void call(MyContext context) throws Exception { System.o...
2024-01-10