Kotlin约束泛型参数必须继承自某个父类

devtools/2024/11/16 14:35:19/

Kotlin约束泛型参数必须继承自某个父类

open class SuperData {
}class DataA : SuperData {constructor() {println("DataA constructor")}
}class DataB : SuperData {constructor() {println("DataB constructor")}
}fun <T : SuperData> myfun(param: T) {if (param is DataA) {println("myfun DataA")}if (param is DataB) {println("myfun DataB")}
}fun main() {val dataA = DataA()myfun(dataA)val dataB = DataB()myfun(dataB)
}

DataA constructor
myfun DataA
DataB constructor
myfun DataB

Kotlin函数作为参数指向不同逻辑(二)-CSDN博客文章浏览阅读683次。一般编程的技法,比如,在Android中,假设在主线程中实现了一个函数,但该函数是耗时操作,毫无疑问,需要将这个函数的实现切入非主线程中操作,那么可以设计一种托管的函数,在托管的函数里面干脏活,处理完成后,把结果抛到主线程。一般编程的技法,比如,在Android中,假设在主线程中实现了一个函数,但该函数是耗时操作,毫无疑问,需要将这个函数的实现切入非主线程中操作,那么可以设计一种托管的函数,在托管的函数里面干脏活,处理完成后,把结果抛到主线程。kotlin把函数作为参数转递给另一个函数-CSDN博客。https://blog.csdn.net/zhangphil/article/details/133382999

Kotlin函数作为参数指向不同逻辑_ketlin 将方法作为参数-CSDN博客文章浏览阅读1.4k次。一般编程的技法,比如,在Android中,假设在主线程中实现了一个函数,但该函数是耗时操作,毫无疑问,需要将这个函数的实现切入非主线程中操作,那么可以设计一种托管的函数,在托管的函数里面干脏活,处理完成后,把结果抛到主线程。一般编程的技法,比如,在Android中,假设在主线程中实现了一个函数,但该函数是耗时操作,毫无疑问,需要将这个函数的实现切入非主线程中操作,那么可以设计一种托管的函数,在托管的函数里面干脏活,处理完成后,把结果抛到主线程。kotlin把函数作为参数转递给另一个函数-CSDN博客。_ketlin 将方法作为参数https://blog.csdn.net/zhangphil/article/details/133378966


http://www.ppmy.cn/devtools/134456.html

相关文章

利用服务工作线程serviceWorker缓存静态文件css,html,js,图片等的方法,以及更新和删除及版本控制

Service Worker 是一种运行在浏览器背后的独立线程&#xff0c;可以用来处理推送通知、后台同步、缓存等任务。以下是使用 Service Worker 来缓存图片的一个基本示例&#xff1a; 1、注册 Service Worker: 首先&#xff0c;你需要在你的 JavaScript 文件中注册 Service Worker。…

Mac 使用mac 原生工具将mp4视频文件提取其中的 mp3 音频文件

简介 Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国奖、省奖…已保研 学习经验:扎实基础 + 多做笔…

基于微信小程序的农场管理系统的设计与实现,LW+源码+讲解

1.2 课题意义 现如今&#xff0c;信息种类变得越来越多&#xff0c;信息的容量也变得越来越大&#xff0c;这就是信息时代的标志。近些年&#xff0c;计算机科学发展得也越来越快&#xff0c;而且软件开发技术也越来越成熟&#xff0c;因此&#xff0c;在生活中的各个领域&…

深入解析 OpenHarmony 构建系统-3-GN 构建系统管理脚本

引言 OpenHarmony作为一款面向全场景的分布式操作系统,其构建系统在开发过程中扮演着至关重要的角色。本文将详细介绍OpenHarmony构建系统下的一个gn封装脚本,该脚本用于管理和执行 gn 命令,更高效地管理构建过程。 位置:/build/hb/services/gn.py 脚本概述 该脚本定义了…

【论文阅读】HITS: High-coverage LLM-based Unit Test Generation via Method Slicing

HITS: High-coverage LLM-based Unit Test Generation via Method Slicing 1. 来源出处 本文是发表在2024年39th IEEE/ACM International Conference on Automated Software Engineering (ASE)上的论文。作者包括Zejun Wang, Kaiibo Liu, Ge Li和Zhi Jin,他们来自北京的PKU …

C++的一些模版

1、不限制次数的输入数据 vector<int> nums;int num;while (cin >> num) {nums.push_back(num);if (cin.get() \n) break;}2、取模模版 template<int kcz> struct ModInt { #define T (*this)int x;ModInt() : x(0) {}ModInt(int y) : x(y > 0 ? y : y…

反转链表

反转链表 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1]示例 2&#xff1a; 输入&#xff1a;head [1,2] 输出&#xff1a;[2,1]示例 3&#xff1…

视频编码基础入门

文章目录 前言一、视频编码的目标二、 视频编码基本流程1. 采样与颜色空间转换2. 变换编码&#xff08;例如DCT&#xff09;3. 量化4. 熵编码5. 运动补偿和帧间预测6. 编码输出 三、视频编码的关键技术1. 帧类型2. GOP&#xff08;Group of Pictures&#xff09;结构3. 比特率控…