当前位置: 首页 > news >正文

Kotlin与Java写法的变更

目录

获取类的Java Class属性

类型检查

for循环

switch语句

if判断


获取类的Java Class属性

//Java
Intent intent = new Intent(this, MainActivity.class);//Kotlin
val intent = Intent(this, MainActivity::class.java)

类型检查

//Java
apple instanceof Fruit
!(apple instanceof Fruit)//Kotlin
apple is Fruit
apple !is Fruit

for循环

//Java
List<String> list = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {//do something
}//Kotlin 一般写法
for (element in sList) {//do something
}//Kotlin 不需要下标
list.forEach {//do something
}//Kotlin 需要下标
list.forEachIndexed { element, index ->//do something
}

switch语句

java

        int status = 0;int timeout = 0;switch(status){case STATUS_1:timeout = 100;break;case STATUS_2:timeout = 200;break;case STATUS_3:timeout = 300;break;default:timeout = 500;break;}

在Kotlin中,switch语句正式退出了历史舞台,取而代之的是更为强大的when表达式。注意语句(statement)和表达式(expression)的区别。通俗来讲,他们最大的区别是语句没有值,而表达式有值。因此在Kotlin中可以这样用:

val status = 0
fun getTime(): Int = when (status) {1 -> 1002 -> 2003 -> 300else -> 500
}

if判断

在Kotlin中,if变成了表达式,等同于 Java中三目运算符的替代写法:

fun getStatus(score:Int) = if(score >85) "优秀" else "其他"

相关文章:

Kotlin与Java写法的变更

目录 获取类的Java Class属性 类型检查 for循环 switch语句 if判断 获取类的Java Class属性 //Java Intent intent new Intent(this, MainActivity.class);//Kotlin val intent Intent(this, MainActivity::class.java) 类型检查 //Java apple instanceof Fruit !(app…...

京东数据软件系统:京东销量和销额数据在哪里看?

京东平台店铺众多&#xff0c;行业同行也数不胜数&#xff0c;若想要在平台中更好的运营店铺&#xff0c;品牌需要做好数据分析。下面结合鲸参谋电商数据分析平台这一数据分析工具&#xff0c;我们来看一看品牌在做数据分析时需要注重哪些数据维度。 *行业数据 京东商家通过鲸…...

美观且功能丰富的控制台:5个.Net开源项目

今天一起盘点下&#xff0c;9月份推荐的5个.Net开源项目&#xff08;点击标题查看详情&#xff09;。 1、FTP开源库 FluentFTP是一个基于.Net开发的&#xff0c;可用于FTP和FTPS文件传输。该项目优化了速度&#xff0c;并提供简单易用的API&#xff0c;让开发人员可以快速地集…...

深度学习模型基于Python+TensorFlow+Django的垃圾识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 要使用Python、TensorFlow和Django构建一个垃圾识别系统&#xff0c;您可以按照以下步骤进行操作&#xff1a; 安装…...

​ArcGIS Pro怎么生成山顶点

山顶点是指山脉、山丘或山脉系统中最高的地点&#xff0c;通常是山的最高峰&#xff0c;这是山地地貌中的最高点&#xff0c;往往是山脉的标志性特征之一&#xff0c;这里为大家介绍一下如何使用ArcGIS Pro获取山顶点&#xff0c;希望能对你有所帮助。 数据来源 本教程所使用…...

Anolis 8.6 安装 Drawio

Anolis 8.6 安装 Drawio 22.1.0 一.RPM版&#xff08;不建议&#xff09;二.WAR 包部署 一.RPM版&#xff08;不建议&#xff09; Draw RPM 包下载链接 RPM 包直接基于Linux图形化能力部署&#xff0c;服务器类型的Linux系统启动RPM包安装的Draw可能比较复杂 系统版本 ## 1.…...

AI图像生成模型LCMs: 四个步骤就能快速生成高质量图像的新方法

在最新的AI模型和研究领域&#xff0c;一种名为Latent Consistency Models&#xff08;LCMs&#xff09;的新技术正迅速推动文本到图像人工智能的发展。与传统的Latent Diffusion Models(LDMs)相比&#xff0c;LCMs在生成详细且富有创意的图像方面同样出色&#xff0c;但仅需1-…...

成都瀚网科技有限公司抖音带货正规

随着互联网的蓬勃发展&#xff0c;越来越多的公司开始利用网络平台进行产品销售。其中&#xff0c;抖音作为一款广受欢迎的短视频平台&#xff0c;已经成为众多商家眼中的“香饽饽”。在这场电商狂欢中&#xff0c;成都瀚网科技有限公司&#xff08;以下简称“瀚网科技”&#…...

php 8 注解的实际应用

前言 学过java的同学应该都知道注解的作用&#xff0c;但是在php中注解有什么用呢&#xff1f;我的理解就是美化代码和便于维护一些类的设计。 说明 我们先设计一个类&#xff0c;声明人类的性别 <?php class Sex {//男人const MAN 1;//女人const WIFE 2;//未知const…...

【数据结构】树与二叉树(十三):递归复制二叉树(算法CopyTree)

文章目录 5.2.1 二叉树二叉树性质引理5.1&#xff1a;二叉树中层数为i的结点至多有 2 i 2^i 2i个&#xff0c;其中 i ≥ 0 i \geq 0 i≥0。引理5.2&#xff1a;高度为k的二叉树中至多有 2 k 1 − 1 2^{k1}-1 2k1−1个结点&#xff0c;其中 k ≥ 0 k \geq 0 k≥0。引理5.3&…...

相机突然断电,保存的DAT视频文件如何打开

3-6 本文主要解决因相机突然断电导致拍摄的视频文件打不开的问题。 在平常使用相机拍摄视频&#xff0c;比如使用佳能相机拍摄视频的时候&#xff0c;如果电池突然断电&#xff0c;就非常有可能会导致视频没来得及保存而损坏的情况&#xff0c;比如会产生下图中的这种DAT文件…...

[西湖论剑 2022]real_ez_node

文章目录 前置知识EJS模板注入&#xff08;CVE-2022-29078&#xff09;原型链污染漏洞 &#xff08;CVE-2021-25928&#xff09;HTTP响应拆分攻击&#xff08;CRLF&#xff09; 解题过程代码审计构造payload 前置知识 EJS模板注入&#xff08;CVE-2022-29078&#xff09; EJS…...

如何正确使用GPT工具

引言 在快速发展的数字时代&#xff0c;人工智能&#xff08;AI&#xff09;已成为科研领域的一个不可或缺的工具。特别是像ChatGPT这样的AI聊天机器人&#xff0c;它通过高效的语言模型和深度学习算法&#xff0c;为科研工作者提供了前所未有的辅助。从文献搜索到数据分析&…...

Kotlin Multiplatform稳定版本发布:加速跨平台开发的新里程碑

Kotlin Multiplatform稳定版本发布&#xff1a;加速跨平台开发的新里程碑 引言 在最新的消息中&#xff0c;JetBrains团队宣布Kotlin Multiplatform&#xff08;KMP&#xff09;将于2023年10月稳定发布。这一消息对于广大开发者来说毫无疑问是一个令人振奋的消息。KMP的正式生…...

Paas-云管理

云管理平台&#xff08;Cloud Management Platform&#xff0c;CMP&#xff09;是由Gartner最先提出的企业云战略中的一种产品形态。Gartner对云管理平台&#xff08;CMP&#xff09;的定义是一种管理公有云、私有云和混合云环境的整合性产品。 什么是云管理平台 云管理平台&a…...

http-server安装使用

前段时间给电脑重装了系统&#xff0c;很多东西都没了&#xff0c;今天想在浏览器打开一个本地的html文件&#xff0c;发现电脑上没有http-server&#xff0c;于是装了一个&#xff0c;并且记录下安装过程 1、安装 nodejs&#xff0c;但如果你电脑上有&#xff0c;就无需下载 …...

【CSDN 每日一练 ★☆☆】【位运算】只出现一次的数字

【CSDN 每日一练 ★☆☆】【位运算】只出现一次的数字 题目 给定一个非空整数数组&#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 说明&#xff1a; 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实…...

Spring的注入

目录 一、Spring的概念 二、各种数据类型的注入 &#xff08;1&#xff09;studentService &#xff08;2&#xff09;applicationContext.xml&#xff08;Sring核心配置文件&#xff09; &#xff08;3&#xff09;测试 三、注入null或者empty类型的数据 &#xff08;1…...

Linux-Docker的基础命令和部署code-server

1.安装docker 1.安装需要的安装包 yum install -y yum-utils2.设置镜像仓库 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3.安装docker yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin do…...

微信小程序授权登陆 getUserProfile

目录 前言 步骤&#xff1a; 示例代码: 获取用户信息的接口变化历史: 注意事项&#xff1a; 前言 在微信小程序中&#xff0c;你可以使用 getUserProfile 接口来获取用户的个人信息&#xff0c;并进行授权登录。以下是使用 getUserProfile 的步骤&#xff1a; 小程序发了…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界&#xff0c;看笔记好好学多敲多打&#xff0c;每个人都是大神&#xff01; 题目&#xff1a;KubeSphere 容器平台高可用&#xff1a;环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...