kotlin的this关键字几种用法

2023-05-16

  • 与java不同的是,原先MainActivity.this这种写法在kotlin中会报错。如下

正确的写法有许多,直接就写this也可以识别到,如下:

        Toast.makeText(MainActivity@this,"xxx1", Toast.LENGTH_SHORT).show()
        Toast.makeText(this@MainActivity,"xxx2", Toast.LENGTH_SHORT).show()
        
        var view: View = findViewById(R.id.tv)
        view.setOnClickListener(View.OnClickListener {
            Toast.makeText(this,"xxx3", Toast.LENGTH_SHORT).show()
        })

与之前java中this的写法相比,除了MainActivity.this不支持外,其他kotlin还是支持的。例如this,this.name

关于kotlin中this关键字的其他用法,示例如下,看运行结果就能明白:

fun main() {
    TestThis().test()
}

class TestThis {
    var name: String = "xxx"
    fun test() {
        println(this.name)
        fetchClassInfo(this)
        fetchClassInfo(TestThis@this)
        fetchClassInfo(this@TestThis)
        println("apkname".add0())
    }

    fun fetchClassInfo(info:TestThis){
        println(info.javaClass.simpleName)
    }


    fun String.add0():String{
        return this + "0"
    }
}

运行结果:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

kotlin的this关键字几种用法 的相关文章

  • Cmake系列(三) 在 CMakeLists.txt 引入第三方so库

    将 so 库和头文件拷贝到对应的目录 app src main jniLibs arm libxxx so 修改 CMakeLists txt 文件 第三方so库 这里和之前在第二步中介绍的创建一个新的原生库类似 xff0c 区别在于最后一
  • git checkout 命令详解

    在日常的git操作中 xff0c git checkout 检出 xff0c 是我们的常用命令 最为常用的两种情形是创建分支和切换分支 在下面的命令中 xff0c 使用了一些简写 xff0c 在这里说明一下 xff1a git st git
  • 对简单字符串的排序整理(简单的2种方法)

    一 用sort对字符串排序 1 sort可以对string排序 我在做题的时候发现我用sort对string排序的语句判错 我最开始写的代码是 string s cin gt gt s int len 61 s length sort s
  • python的print输出如何不换行

    在python的中使用的print函数 xff0c 如果只是输出内容 xff08 包括整型数 xff0c 浮点型 xff0c 字符串等 xff09 xff0c 那么在这一行语句结束之后 xff0c print会自动换行 span class
  • 将.py文件转化为.exe文件

    将 py文件转化为 exe文件首先需要第三方库 pyinstaller 1 如果没有安装pyinstaller xff0c 则在命令提示符输入 pip installer pyinstaller 如果已安装 xff0c 则会显示 表示这几个
  • Java中的类(基础详解)

    文章目录 可以有多个类 xff0c 但只能有一个public类类 61 字段 43 方法类的构造函数我们没写构造函数的时候如果我们自己写了构造函数构造函数中 this 的使用 类的修饰符 控制符第一类 xff1a 61 61 访问修饰符 6
  • 【数据结构】 二叉树基础详解(C++)

    文章目录 树的定义树的基本术语树的表示二叉树的定义二叉树有5种基本形式二叉树的特殊形式 二叉树的重要性质二叉树的操作4种遍历方式和代码 xff08 为了方便大家学习 xff0c 可以直接运行 xff09 二叉树的经典题目1 对称二叉树2 相
  • B2097 最长平台 【入门】

    白细胞计数 题目描述 医院采样了某临床病例治疗期间的白细胞数量样本 n n n 份 xff0c 用于分析某种新抗生素对该病例的治疗效果 为了降低分析误差 xff0c 要先从这 n n n
  • B2092 开关灯 【入门】

    原题链接 开关灯 开关灯 题目描述 假设有 N N N 盏灯 xff08 N N N 为不大于
  • Fragment里面的Viewpaper不显示内容不执行getItem的解决方案

    最近fragment越来越火了 xff0c ViewPager也越来越广泛使用了 xff0c 群里很多朋友就不约而同的遇到了一个奇葩的问题 xff0c fragment里面放viewpager有些时候会不会出现内容 所以今天把这个解决方案分
  • vmware关闭侧通道缓解(windows端)

    文章目录 shutdown the vm ossettingsoptions中文设置 shutdown the vm os 建议打开虚拟机操作系统 在系统中执行关机指令外部关机 power off 会导致数据丢失 settings opti
  • matlab_将矩阵各行逆序(左右顺序对调)

    文章目录 以一个方阵为例 每一列逆序注意 39 39 和 39 39 以一个方阵为例 span class token operator gt gt span A span class token operator 61 span magi
  • windows10@安装英语语言包异常_挂起中@设置搜索框的异常(总是搜不出任何结果)问题

    文章目录 删除指定目录注销或重启您的计算机windows10 64 11 64 设置搜索框的异常 总是搜不出任何结果 问题显示语言配置 删除指定目录 Go to the following directory to delete this
  • word@快捷键@域和交叉引用@样式设置@字号和单位@语言设置@粘贴格式设置

    文章目录 word跳转 64 引用 64 标注其他 快捷键快捷键设置从功能搜索中配置快捷键 64 定制工具栏 word中的域 x1f388 交叉引用文献引用标注流程技巧 样式 x1f388 refs样式配置基础样式 style based
  • android studio4.+删除已下载的虚拟机镜像

    文章目录 settings sdk settings sdk 点击ok
  • PC_溢出概念+判断方法+示例

    文章目录 PC 溢出概念 43 判断方法 43 示例ref分类定点计算机中的溢出定点机溢出示意图 在浮点计算机中的溢出浮点机溢出示意图 溢出简易判断规律溢出的必要条件定点数 x1f388 补码运算判断溢出方法用一位符号位判断溢出例例 双符号
  • raspberryPi_继电器模块(relay)+风扇模块(fan)连接原理图/硬件调试

    文章目录 继电器模块型号和样式型号样式1 xff1a 端口介绍左侧 右侧 指示灯侧 双侧图 样式2 xff1a DC IN 引脚介绍 继电器的使用和接入风扇的可用性调试 注意测试代码触发电平code new code xff08 old 测
  • foobar2000_为MP3/flac嵌入歌词文件/封面编辑(提供eslyric插件下载)/信息标签编辑

    文章目录 直接操作版 利用已经封装好的汉化版 使用关联歌词或者 保存到标签 编辑封面其他信息编辑 自行操作版 从官网下载的foobar2000 安装eslyric 插件布局设置导入歌词源 js 直接操作版 利用已经封装好的汉化版 汉化软件来
  • office@word官方文档查看@审阅@批注@修订

    文章目录 office官方文档microsoft office 文档 64 教程语言切换文档官网word官方培训资源找到合适的文档 word 64 共享 64 共同创作的相关支持word审阅重点修订批注审阅窗格右侧边窗格修订选项区分标记和修
  • InputFilter用法

    如果想设置editVtext用代码限制字数 TextView tv 61 newTextView this int maxLength 61 10 InputFilter fArray 61 newInputFilter 1 fArray

随机推荐

  • visual studio开启多核编译方法

    visual studio在编译时可以启动多核并行编译 xff0c 以减少编译所需时间 话不多说 xff0c 直接看步骤吧 xff1a 1 Solution Explorer导航窗口右键需要并行编译的项目 xff0c 进入属性页面 2 C
  • word@通配符@高级搜索查找@替换@中英文标点符号替换

    文章目录 高级搜索通配符批量选中引用序号 64 上标调整搜索 64 替换作用范围设置 x1f388 通过样式选择作用区域通过鼠标选择作用区域 高级替换操作顺序 标点符号替换 x1f388 将英文逗号替换为中文逗号使用普通查找和替换 xff1
  • cmd@快捷键方式@静默执行命令@修复桌面空白快捷方式图标

    文章目录 ref前言快捷方式执行命令行或打开文件eg 直接打开某个文件 创建快捷方式eg 快捷方式运行命令 修复快捷方式图标空白问题逐个修复批量修复一次性操作 逐步操作 执行效果第三方工具修复 ref How can I execute a
  • C#串口数据处理--环形缓冲区-FIFO

    一 FIFO环形缓冲区初始化 static int MAX BUFFER LEN 61 1024 定义缓冲区大小 FIFO receiveBufferManager 61 new FIFO MAX BUFFER LEN 二 串口接收事件中添
  • 我的2011--人生转折点

    恍然 xff0c 2011 12 30了 xff0c 这一年又将过去 xff01 回首这一年 xff0c 感觉是我生命中成长最快的一年 年初到年末 xff0c 好像是一个质的跨越 在即将过去的2011最后的时间里 xff0c 写下这边blo
  • multipart/form-data方式上传text以及文件,类似微博发照片

    actionUrl 地址 params text参数以及值 files 文件参数以及文件 username 认证用户名 passwd 认证密码 public static String postFile String actionUrl M
  • 测试cudnn是否安装成功(针对没反应的问题)

    安装cudnn后 xff0c 使用网上的命令行查看cudnn是否安装成功 cat usr local cuda include cudnn h grep CUDNN MAJOR A 2 发现没反应 发生甚么事了 xff1f 奥 xff0c
  • NVIDIA Jetson Xavier NX 开发套件刷机教程

    开题说明 xff0c 一切以官方的刷机教程为准 xff0c 任何问题 xff0c 只有官方可以给你最权威的解答 xff01 xff01 xff01 一 下载NX开发板套件 xff08 SD Card Image xff09 下载链接 xff
  • NVIDIA Jetson Xavier NX 相关组件安装

    一 刷机预装组件版本检查 我的NX开发板的刷机版本为Jetpack4 4 0 1 驱动版本 xff1a head n 1 etc nv tegra release 2 内核版本 xff1a uname r 3 操作系统 xff1a lsb
  • rosdep update失败的解决方法

    文章目录 rosdep方法一方法二方法三 xff08 推荐 xff09 rosdep 不管是安装哪个版本的ros xff0c 最后执行的两步都是 xff1a sudo rosdep init rosdep update 不过 xff0c 大
  • Ubuntu22.04LTS 安装低版本python

    Ubuntu 22 04LTS自带的python版本为3 10 部署项目时需要用到底低个版本的 有可能会出现一系列问题 xff0c 例如SSL模块缺失 先用openssl 命令查一下版本 下载 wget https www python o
  • android中ScrollView中TextView无法铺满全屏解决方案

    在ScrollView的xml中加入 android fillViewport 61 34 true 34 属性就OK
  • 【ROS进阶】一文搞懂roscpp中的Time API和ROS的时间模式

    文章目录 一 ROSCPP常见的时间函数Time API1 Time and Duration1 1 获取当前时间1 2 创建时间与时长的实例1 3 转换时间 时长实例的格式1 4Time与Duration运算 2 Sleeping与Rat
  • 如何用简单方法推导正弦函数的和角公式: sin(α+β)=sinαcosβ+cosαsinβ ?

    问题 xff1a 看2014年湖北省高考理科数学题 xff0c 选择题第6题 xff1a 这道题目答案是C xff0c 组是正交函数 xff0c 组不是正交函数 可以用数形结合方式 xff0c 快速做出判断 详细解析如下 分析 xff1a
  • @Documented注解的作用

    目录 在哪里用到了 96 64 Documented 96 注解 xff1f 那么 64 Documented的作用是什么 xff1f 在哪里用到了 64 Documented注解 xff1f 64 Documented是元注解 xff0c
  • 球的表面积公式是怎么推导出来的?

    球的体积公式的推导 球的表面积公式是 xff1a 证明方式一 xff1a 体积求导 基本思路 xff1a 可以把半径为R的球 xff0c 从球心到球表面分成n层 xff0c 每层厚为 r n xff0c 像洋葱一样 半径获得增量是 r xf
  • Android广播实现进程间通信,很简单

    应用A发送广播 xff1a span class token keyword public span span class token keyword class span span class token class name MainA
  • 下载JDK8 JVM源码

    性子急的可以直接看快速下载步骤 xff1a 目录 详细步骤快速下载步骤 详细步骤 打开openJDK官网 xff1a https openjdk org 找到左侧的Mercurial xff0c 点击进入新界面 选择jdk8 xff0c 点
  • Git查看分支的创建人

    开发小组人多的时候 xff0c 仓库里会有跟多分支 xff0c 需要看下某个分支具体是谁创建的 命令 xff1a git for each ref format 61 39 committerdate 09 authorname 09 re
  • kotlin的this关键字几种用法

    与java不同的是 xff0c 原先MainActivity this这种写法在kotlin中会报错 如下 正确的写法有许多 xff0c 直接就写this也可以识别到 xff0c 如下 xff1a span class token clas