Kotlin扩展函数和运算符重载

news2024/9/23 9:33:03

扩展函数

fun String.lettersCount():Int{
    var count = 0
    for(i in this){
        if(i.isLetter())
            count++
    }
    return count
}
fun main(){
    val str:String = "12we"
    println(str.lettersCount())
}

相当于直接将方法写在类里面。函数体内可以直接使用this而不用传参。

运算符重载

class Money(var yuan:Int,var fen:Int){
    operator fun plus(money: Money): Money {
        return Money(yuan+money.yuan,fen+money.fen)
    }
    operator fun plus(Yuan:Int):Money {
        return Money(yuan+Yuan,fen)
    }
}

fun main(){
    var money:Money = Money(1,1)
    var money2:Money = Money(2,2)
    println((money2+money).yuan)
    println((money2+money).fen)
    println((money2+1).yuan)
}

operator和plus是不能变的,plus表示“+”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1678356.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

织梦dedecms企业网站模板安装教程

很多新手在拿到织梦模板后不知道如何安装,所以,云部落(Yunbuluo.Net)资源网专门整理了一份图文版织梦模板通用安装教程,希望对大家有所帮助。 第一步: 将域名解析绑定好之后,上传下载的模板至您的WEB根目录中&#xf…

品鉴中的食物搭配:如何创造美味的红酒与食物组合

品鉴云仓酒庄雷盛红酒时,食物搭配是一个不可忽视的环节。通过巧妙的搭配,红酒与食物可以相互衬托,呈现出更加美妙的风味。下面就让我们一起探讨如何创造美味的红酒与食物组合。 首先,了解红酒与食物的搭配原则是关键。一般来说&a…

React Native 开发心得分享

有一段时间没更新了,花了点时间研究了下 React Native(后续用 RN 简称),同时也用该技术作为我的毕设项目(一个校园社交应用,仿小红书),经过了这段时间的疯狂折腾,对 RN 生态有了一定的了解&…

国际生物多样性科普暨母亲节亲子活动在天河公园举行

引言:"人类是命运共同体,不论是战胜新冠疫情,还是加强生物多样性保护,实现全球可持续发展,唯有团结合作,才能有效应对全球性挑战。生态兴则文明兴。我们应该携手努力,共同推进人与自然和谐…

OpenHarmony标准设备应用开发实战(一)——HelloWorld

本文主要内容包括三个方面: 1. 应用编译环境准备; 2. Hello Openharmony 页面编写; 3. 安装应用到标准设备上面。下面就让我们从零开始学习 OpenHarmony 标准设备应用开发。 一、应用开发环境准备 1.1 下载 DevEco Studio 3.0 Beta2 版本 …

3SRB2516-ASEMI适配大功率充电桩3SRB2516

编辑:ll 3SRB2516-ASEMI适配大功率充电桩3SRB2516 型号:3SRB2516 品牌:ASEMI 封装:SGBJ-5 正向电流(Id):25A 反向耐压(VRRM):1600V 正向浪涌电流&…

海外静态IP:全球互联的稳定之选

在全球化的商业环境中,企业与个人对于网络的依赖日益加深,而一个稳定、可靠的海外静态IP成为了连接世界的关键。本文将从五个方面深入探讨海外静态IP的重要性、应用场景、技术优势、市场趋势以及选择时的考量因素。 一、海外静态IP的重要性 静态IP地址是…

耐克、肯德基、美宝莲…六大品牌的经典广告语是如何诞生的?

近期,创意翻译公司franklyfluent推出了一个名为“Hard to Make, Easy to Break”的创意户外活动,展示了创意和文字艺术在品牌翻译中的重要性。 “Hard to Make, Easy to Break”的活动于2024年5月份在英国正式发布。这些移动广告牌出现在伦敦的各个体育…

【算法学习】拓扑排序

文章目录 拓扑排序课程表 拓扑排序 算法原理: 1.先找出图中入度为0的点,将该点加入到队列中 2.队列不为空时,拿出队头元素加入到最终结果 3.再遍历该点的邻接阵,将连接该点的点的入度全部减减 4.判断减减的点是否为入度为0&#…

渗压计与水位计的区别:监测工具的关键用途解析

在土木工程和水利工程领域,渗压计和水位计是两种重要的监测工具。它们虽然在外观和一些基本功能上可能相似,但其实各有专长,适用于不同的监测需求。了解它们的区别对于正确选择和应用这些工具至关重要本文将探讨渗压计和水位计的主要区别&…

【挑战全网】最全高德地图充电桩接入指南,流量必火!

分享《一套免费开源充电桩物联网系统,是可以立马拿去商用的!》 一、和高德直接互联互通的优势: 1、高德官方直接互联互通,提供给合作商户独立发展自主权,不依赖任何第三方平台; 2、自己控制电站的上线、下线、修改电…

2024年开抖店都需要做哪些准备?这些条件缺一不可

大家好,我是电商花花。 作为目前国内最受欢迎的短视频电商平台,抖音将成为众多创业者的首选平台。 在往年我们都知道抖音小店市场很多,红利很大,利润大,不少人都通过抖音小店实现了脱贫,也有部分上班族获…

VC++6.0 常用的文件对话框和目录选择对话框

1,文件对话框 //1,弹出文件打开对话框CString strFileName "";char szFilter[] {"exe files(*.exe)|*.exe|All Files(*.*)|*.*|"};CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter,NULL);if(dlg.DoModal() …

三清互联:公司已形成“研发-创新-增收-研发”良性循环

三清互联自创立之初便以电力物联网感知层终端及成套设备的研发、设计、生产和销售为核心,致力于为电力行业提供前沿的技术解决方案。多年来,公司主营业务、主要产品及经营模式均保持稳定,不断在电力物联网感知层领域深化探索与创新。 初创期的…

品鉴中的礼仪习俗:如何遵循正确的红酒品鉴礼仪

在品鉴云仓酒庄雷盛红酒时,遵循正确的礼仪习俗不仅能展现个人的修养,还能更好地领略葡萄酒的风味。下面我们将探讨红酒品鉴中的礼仪习俗。 首先,当我们拿起酒杯时,应该注意不要晃动酒杯,以免扰动其中的酒液。同时&…

运营商二次放号查询接口如何对接

运营商二次放号查询接口又叫手机二次放号检测接口,指的是输入手机号和日期,查看在该日期之前是不是二次放号。那么运营商二次放号查询接口如何对接呢? 这边我找到了一家叫数脉API的公司,他们刚好有这个接口,首先注册账…

nmap端口扫描工具——Win10

Nmap安装流程: Nmap官网链接:Download the Free Nmap Security Scanner for Linux/Mac/Windows Nmap参考文档链接:https://nmap.org/book/toc.html Nmap使用流程: Nmap软件主页面: 中文版: nmap -T4 -…

JavaWeb-学习笔记

第一章 Tomcat 介绍 前言 使用Tomcat服务器,必须先安装JDK,因为Tomcat使用的是java语言开发的。 在系统环境变量中,必须包含**%JAVA_HOME%\bin**。否则Tomcat无法启动 环境变量配置: 此电脑 --> 右键 --> 属性高级系统…

代码随想录Day 47|Leetcode|Python|392.判断子序列 ● 115.不同的子序列

392.判断子序列 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的…

Lobe Chat–在线AI对话聊天机器人,一键部署,免费开源

现代化设计的开源 ChatGPT/LLMs 聊天应用与开发框架 支持语音合成、多模态、可扩展的(function call)插件系统 一键免费拥有你自己的 ChatGPT/Gemini/Claude/Ollama 应用 项目演示 支持多种模型接口 支持语音输入输出 支持云端同步 丰富多彩非常实用的应…