Kotlin学习之伴生对象Kotlin没有静态成员,主要原因在于它允许包级属性和函数的存在;Kotlin为静态成员提供了多种替代的方案: - 使用包级属性和函数:主要用于全局常量和工具函数; - 使用伴生对象:主要用于与类有紧密联系的变量和函数; - 使用@JvmStatic注解:与伴生对象搭配使用,将变量和函数声明为真正的JVM静态成员。一、伴生对象Kotlin的对象指的是使用obje
Kotlin 在 1.6.20 版本中加入了 Context Receivers 的想法。在这篇文章,我想玩弄它们以了解它们的用处。请注意,如果您想一起玩,则需要使用context-receivers标志进行编译。Context Receivers背后的主要思想是将附加参数传递给函数,而无需显式执行。简化的模型样本让我们从一个简单的例子开始来展示它是如何工作的。我们想对两个 ba 之间的简单传输
*特定条件和情况这篇博客描述了一个 Kotlin 试验性功能,它还在调整之中。本文基于 Kotlin 1.3.50 撰写。类型安全帮助我们防止出现错误以及避免回过头去调试错误。对于 Android 资源文件,比如 String、Font 或 Animation 资源,我们可以使用 androidx.annotations,通过使用像 @StringRes、@FontRes 这样的注解,就可以让代码
转载 2024-06-03 07:32:49
35阅读
Kotlin使用技巧
原创 2018-05-02 11:23:39
931阅读
1点赞
# 如何判断javalist是否包含String 作为一名经验丰富的开发者,我将会教你如何判断一个Java List是否包含某个String元素。首先,我们来看一下整个流程。 ## 流程步骤 | 步骤 | 操作 | | ------ | ------ | | 1 | 创建一个Java List | | 2 | 判断List是否包含指定的String元素 | 接下来,我们将逐步实现这两
原创 2024-06-26 07:22:06
89阅读
# JavaList添加数据的方法 在Java编程,List是一种常用的集合类型,用于存储一组有序的数据。List接口提供了丰富的方法来操作数据集合,其中添加数据是最基本的操作之一。本文将介绍如何使用Java的List来添加数据,以及一些常用的添加数据的方法。 ## List添加数据的方法 ### 1. 使用add()方法 在List添加数据最常用的方法是使用add()方法,该方法
原创 2024-04-06 05:18:34
1132阅读
kotlin与Java互操作 kotlin与Java互操作在Kotlin调用Java数组的互操作性检查Java的异常调用Java的Object方法关键字冲突Nothing类型在Java调用Kotlin包级函数访问Kotlin属性调用实例字段调用静态字段和方法Kotlin与Java的可见性生成默认参数函数的重载显示声明Kotlin的异常Kotlin与Java简单实例对比 在Kotlin调用
转载 2024-03-01 11:52:40
71阅读
What is Kotlin?Kotlin是JVM和Android的实用编程语言,结合了OO和功能特性,专注于互操作性,安全性,清晰度和工具支持。本文记录自己学习kotlin认为需要记录的重点,如果需要详细学习,请点击Kotlin中文文档学习。基本类型在 Kotlin ,所有变量的成员方法和属性都是一个对象。一些类型是内建的,它们的实现是优化过的,但对用户来说它们就像普通的类一样。数值
转载 2024-08-26 19:43:04
21阅读
关于类1.类的定义(关键字: class )Kotlin使用关键字 class 声明类。类声明包括类名、类头(指定其类型参数,主构造函数等)和这个类的主干。类头和主体都是可选的。class Animail { } //空类,可以省略花括号 class Empty2. 构造函数(关键字:constructor/init/val/var )在Kotlin的类可以有主构造函数 和一个或多个二级构造函
 kotlin-android-extensions 插件官网介绍一、简介Kotlin Android扩展插件 可以节省 findviewbyid(),实现 和 Data-Binding,Dagger 框架的效果,不需要添加任何额外代码,也不影响任何运行时体验。Kotlin Android扩展 是 Kotlin 插件的组成之一,不需要在单独安装插件。如下实例:// Using R.lay
嵌套类与内部类类可以嵌套在其他类:class Outer { private val bar: Int = 1 class Nested { fun foo() = 2 } } val demo = Outer.Nested().foo() // == 2内部类标记为 inner 的嵌套类能够访问其外部类的成员。内部类会带有一个对外部类的对象的引用:cl
转载 2024-04-28 10:21:21
216阅读
Collection接口是集合类的根接口,Java没有提供这个接口的直接的实现类。但是却让其被继承产生了两个接口,就是Set和List。Set不能包含重复的元素。List是一个有序的集合,可以包含重复的元素,提供了按索引访问的方式。Iterator,所有的集合类,都实现了Iterator接口,这是一个用于遍历集合中元素的接口,主要包含以下三种方法: 1.hasNext()是否还有下一个元素。
转载 2023-08-25 15:01:08
72阅读
JAVA集合集合类存放于Java.util包,主要有3种:set(集)、list(列表包含Queue)和map(映射)。Collection:Collection是集合List、Set、Queue的最基本的接口。Iterator:迭代器,可以通过迭代器遍历集合的数据Map:是映射表的基础接口ListJava的List是非常常用的数据类型。List是有序的Collection。Java List
转载 2023-06-15 01:27:39
50阅读
前言上一篇文章对协程的概念和原理、协程框架的基础使用、挂起函数以及挂起与恢复等做了详细的分析,如果您对协程有一定的理解,可以阅读《Kotlin 协程实战进阶(一、筑基篇)》我们来对协程整体认识来做一个整体的交流。由于篇幅原因还有一部分重要的知识点没有讲解到,接下来继续分析 Kotlin 协程的重要要素和使用,首先来回顾一下上篇文章的整体内容:1、Coroutine:协程的概念和原理:协程是什么以及
内容提要很多同学刚从Java切换到Kotlin时,写起来会有磕磕绊绊的感觉,最后写出来的代码很多都是Java风格的Kotlin。本文结合平时Java和Kotlin混合开发的一些实践,总结出笔者觉得比较重要的点供大家参考,也欢迎大家在评论区交流和补充。本文适合了解Kotlin基本语法的同学阅读。指定Kotlin生成的类名在Kotlin定义顶层函数是非常方便的,例如: //KotlinTest.k
Kotlin学习教程(八) Kotlin协程一些API启动长时间运行的操作(例如网络IO、文件IO、CPU或GPU密集型任务等),并要求调用者阻塞直到它们完成。协程提供了一种避免阻塞线程 并用更廉价、更可控的操作替代线程阻塞的方法:协程挂起。 协程通过将复杂性放入库来简化异步编程。程序的逻辑可以在协程顺序地表达,而底层库会为我们解决其异步性。该库可以将用户代码的相关部分包装为回调、 订阅相
转载 5月前
15阅读
目前Gradle官方已经将这个计划加入进展,但不建议开发使用,尝鲜即可。github为什么要改造?Gradle采用groovy采用开发语言,是一种动态的dsl语言,缺点就是写脚本时如果出现问题,我们无法实时的得知,只能通过print进行得知,而且无法跳转,并且不支持自动补全。我们先建一个普通的Android项目,然后改造如下,那怎么改造呢?改造很简单,在你的gradle后面加上kts...
原创 2022-02-09 11:34:58
363阅读
可见修饰词当在包时 – 如果没有指明任何可见性修饰词,默认使用 public ,这意味着你的声明在任何地方都可见; – 如果你声明为 private ,则只在包含声明的文件可见; – 如果用 internal 声明,则在同一模块的任何地方可见; – protected 在 “top-level” 不可以使用当在类声明成员时: private 只在该类(以及它的成员)可见 protect
转载 2024-03-24 19:38:44
35阅读
初出茅庐在学习,君若有不喜之处,吾愿听君之见,然存己身之断!海纳百川,但存己见! 文章目录简介为什么使用Kotlin,Java难道它不香吗?已经会Java,还必须学习Kotlin吗?简单了解Kotlin定义函数Kotlin定义变量Kotlin逻辑控制 if条件语句Kotlin逻辑控制 when条件语句Kotlin for循环Kotlin while循环 简介Kotlin是一种在Java虚拟机上运行
转载 2024-02-26 17:44:29
35阅读
这一篇看下crossinline,同样他也要在inline函数才能使用先来看下这样2种情况情况1:fun mainInline2(func1: () -> Unit) { func1() } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstance
  • 1
  • 2
  • 3
  • 4
  • 5