`
entaoyang
  • 浏览: 6051 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

kotlin的KType类型判断

阅读更多

函数参数等涉及到KType类型, 可以用它来判断是否某个类型.

我写了几个易用函数(属性):

 

fun KType.isClass(cls: KClass<*>): Boolean {
	return this.classifier == cls
}

val KType.isTypeString: Boolean get() = this.isClass(String::class)
val KType.isTypeInt: Boolean get() = this.isClass(Int::class) || this.isClass(java.lang.Integer::class)
val KType.isTypeLong: Boolean get() = this.isClass(Long::class) || this.isClass(java.lang.Long::class)
val KType.isTypeByte: Boolean get() = this.isClass(Byte::class) || this.isClass(java.lang.Byte::class)
val KType.isTypeShort: Boolean get() = this.isClass(Short::class) || this.isClass(java.lang.Short::class)
val KType.isTypeChar: Boolean get() = this.isClass(Char::class) || this.isClass(java.lang.Character::class)
val KType.isTypeBoolean: Boolean get() = this.isClass(Boolean::class) || this.isClass(java.lang.Boolean::class)
val KType.isTypeFloat: Boolean get() = this.isClass(Float::class) || this.isClass(java.lang.Float::class)
val KType.isTypeDouble: Boolean get() = this.isClass(Double::class) || this.isClass(java.lang.Double::class)
val KType.isTypeByteArray: Boolean get() = this.isClass(ByteArray::class)

 

分享到:
评论

相关推荐

    Android-Kotlin的类型安全时间计算

    特别是在处理时间计算时,Kotlin的类型安全特性显得尤为重要。本文将深入探讨如何在Android环境中利用Kotlin进行类型安全的时间计算。 1. **类型安全的日期时间API** Kotlin在标准库中引入了`kotlin.time`模块,...

    Kotlin基础语法入门+Kotlin数据类型与变量+Kotlin流程控制:循环与分支+Kotlin函数详解教程详解

    Kotlin数据类型与变量 Kotlin流程控制:循环与分支 Kotlin函数详解 Kotlin类与对象 Kotlin继承与多态 Kotlin接口与抽象类 Kotlin异常处理 Kotlin标准库介绍 Kotlin协程基础 Kotlin并发编程 Kotlin与Android开发 ...

    Kotlin静态类型共享和重用Kotlin静态类型共享和重用Kotlin静态类型共享和重用

    ### Kotlin静态类型共享和重用 #### Kotlin的特点与优势 1. **现代化语言特性**: - **空安全**:Kotlin通过引入非空类型和可空类型的概念,有效地解决了空指针异常的问题,增强了代码的安全性和稳定性。 - **...

    2-1 认识Kotlin——数据类型

    在本节内容中,我们将深入探讨Kotlin编程语言的数据类型,这是Kotlin基础知识的重要组成部分。Kotlin被广泛用于Android应用开发,因此理解其数据类型对于Android开发者尤其关键。 首先,Kotlin提供了两种主要的数据...

    用于Kotlin的类型安全的多平台加密库.zip

    用于Kotlin的类型安全的多平台加密库.zip

    Fundamental Kotlin (Kotlin基础编程 源码)

    Kotlin的基础编程概念是学习任何Kotlin项目的核心,这包括变量声明、数据类型、控制流、函数和类等。下面将详细探讨这些知识点。 ### 1. 变量声明 Kotlin支持两种类型的变量:`var`(可变)和`val`(不可变)。`var`...

    kotlin官方中文文档

    Kotlin是一种现代、静态类型的编程语言,它被广泛用于Android应用开发、服务器端开发、JavaScript和原生开发等多个领域。文档中详细介绍了Kotlin的各个新特性,包括1.5.30及后续版本的更新内容。 Kotlin的基础部分...

    kotlin教程Kotlin的入门指南.pdf

    您需要学习Kotlin的语法、数据类型、运算符等基础知识,以便编写Kotlin程序。 3. 学习面向对象编程 Kotlin是一种面向对象的编程语言,您需要学习面向对象编程(OOP)的基础概念,例如继承、封装、多态等概念,...

    Kotlin 1.4.32离线插件包

    Kotlin是一种现代的、静态类型的编程语言,由JetBrains公司开发,它兼容Java虚拟机(JVM)并可以用于Android应用开发、服务器端开发、Web开发等多个领域。 描述中提到的“适合一直离不上官网的手动安装”,意味着这...

    kotlin实战,极简教程

    9. **类型系统与接口**:Kotlin的类型系统包括密封类、接口、类型别名等,这些都提供了丰富的设计可能性。书中将详细介绍如何利用这些特性来构建健壮的软件结构。 通过学习《Kotlin实战,极简教程》,无论是初学者...

    Kotlin教程.pdf

    Kotlin是一门运行在Java虚拟机上的静态类型编程语言,它由JetBrains公司设计并开源,旨在解决实际编程中遇到的问题。Kotlin为开发Android应用提供了一种更加简洁、安全的替代方案,并且可以与Java代码互相调用。自...

    《效率的抉择:用 Kotlin 做Android开发》

    Kotlin是一种现代化的、静态类型的编程语言,由JetBrains公司开发,自2017年被Google宣布为Android开发的首选语言以来,其在Android开发者中的普及度迅速增长。本书主要涵盖了以下几个核心知识点: 1. **Kotlin基础...

    Kotlin 入门教程指南

    概述:Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 Android 世界的 Swift,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上...

    Kotlin In Action中英版

    2. **类型系统**:Kotlin的类型系统包括原始类型、引用类型、泛型以及类型别名。书中会介绍如何使用类型推断来简化代码,以及如何利用协程处理异步操作,这在Android开发中尤为重要。 3. **函数与类**:Kotlin中的...

    Kotlin极简教程.pdf

    本书从Kotlin的HelloWorld开始,生动讲解Kotlin的基础知识和实战案例,分为两大部分:“基础知识”部分包括语言基础、基本数据类型与类型变量、集合类、泛型、面向对象编程、函数式编程、协程等;“实战”部分包括...

    Kotlin基本类型自动装箱一点问题剖析

    Kotlin基本类型自动装箱一点问题剖析 Kotlin基本类型自动装箱是一个重要的概念,它指的是Kotlin编译器在某些情况下会将基本类型自动转换为对象类型的过程。在这个过程中,Kotlin编译器会根据不同的情况选择不同的...

    kotlin-compiler-1.9.22

    Kotlin是一种现代、静态类型的编程语言,由JetBrains公司开发,旨在提供更好的可读性、安全性以及与Java平台的无缝集成。Kotlin-compiler-1.9.22是Kotlin编程语言的最新版本编译器,它为开发者带来了诸多改进和新...

    kotlin1.6.21编译环境

    Kotlin,作为一款由JetBrains开发的现代、静态类型的编程语言,已经成为Android开发的首选语言之一,同时也广泛应用于服务器端、桌面应用和Web开发。随着版本的迭代,Kotlin 1.6.21带来了更多的改进和优化,使得开发...

    kotlin-code源码资源

    Kotlin是一种由JetBrains开发的静态类型编程语言,它的设计目标是简洁、安全、实用,并且专注于与Java的互操作性。以下是Kotlin的一些主要特性和应用场景: 特性: 简洁性:Kotlin的语法简洁且高级,例如支持类型...

    Kotlin 基础教程

    内容摘要:Kotlin视频教程、第1章 Kotlin简介、第2章 快速开始:HelloWorld、第3章 Kotlin语言基础、第4章 基本数据类型与类型系统、第5章 集合类、第6章 泛型、第7章 面向对象编程、第8章 函数式编程、第9章 轻量级...

Global site tag (gtag.js) - Google Analytics