为什么使用不带 lambda 的内联

2023-12-01

我试图了解如何使用inline修改正确。我了解一般情况,当我们内联 lambda 以防止过度分配时,如中所述docs.

我正在检查 kotlin stdlib 并发现_Strings.kt下面这段代码:

@kotlin.internal.InlineOnly
public inline fun CharSequence.elementAtOrNull(index: Int): Char? {
    return this.getOrNull(index)
}

使用背后的原因是什么inline here?


这个特定的功能和其他一些功能kotlin-stdlib被标记为@InlineOnly因此它们不存在于实际的 stdlib 类文件中,并且仅可供 Kotlin 编译器内联它们。通过这种方式实现的目标是减少工件中的方法数量,这对于 Android 来说很重要。

除此之外,使用inline没有 lambda 的函数对于具体化类型参数.

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

为什么使用不带 lambda 的内联 的相关文章

  • 设置文本视图 Android 的文本颜色

    在 string xml 文件中我使用以下标签
  • Android 中多个蓝牙连接的自定义 UUID

    我有一个 Android 设备作为服务器连接到多个蓝牙 Android 客户端 我了解 UUID 的概念以及它的独特之处 我的问题是 我可以为连接到我的服务器的所有客户端使用相同的 UUID 吗 如果没有 我如何以编程方式为我的客户端生成
  • gradle更新后无法找到方法(无法编译项目)

    我尝试将项目中的 gradle 版本更新为 4 1 milestone 1 以下这些说明 https developer android com studio build gradle plugin 3 0 0 migration html
  • 检查 WebView 元素时的 UiAutomator 错误

    I have recently started automation testing in android and was using UiAutomator tool for inspecting UI elements Surprisi
  • AdapterContextMenuInfo 始终为 null

    我尝试通过 android 开发文档中的书来做到这一点 this didn t create a menu i don t know why registerForContextMenu getListView setListAdapter
  • fetchUuidsWithSdp 的奇怪 UUID 逆转

    我有一个在树莓派上运行的 python 蓝牙服务器 使用 PyBluez 我在服务器中使用的uuid是 8f86d132 4ab8 4c15 b8df 0b70cf10ea56 我正在打电话device fetchUuidsWithSdp
  • Android WebView里面的ScrollView只滚动scrollview

    在我的应用程序中 我有一个 ScrollView 其中包含一些线性视图 一些文本视图和一个 Webview 然后是其他线性布局等 问题是 WebView 不滚动 Scroll 仅侦听 ScrollView 有什么建议么
  • Android:后台Activity可以执行代码吗?

    后台的活动是否被视为 正在运行 并且可以执行代码 还是处于挂起状态 他们暂停了 活动生命周期 http developer android com reference android app Activity html ActivityLi
  • 为什么是 javascript:history.go(-1);无法在移动设备上工作?

    首先 一些背景 我有一个向用户呈现搜索页面 html 表单 的应用程序 填写标准并单击 搜索 按钮后 结果将显示在标准部分下方 在结果列表中 您可以通过单击将您带到新页面的链接来查看单个结果的详细信息 在详细信息页面中 我添加了一个 返回结
  • Android 手机作为 GSM 调制解调器在 PC 上发送/接收短信?

    是否可以将 Android 移动设备用作 PC 上的 GSM 调制解调器 我正在 net下开发应用程序来发送 接收短信等 现在我想通过 USB 将我的 Android 设备连接到我的 PC 并将其用作 GSM 调制解调器来与其通信 这里是参
  • Android - AudioRecord类不读取数据,audioData和fftArray返回零

    我是 Android 新手 一直在开发音调分析器应用程序 最低 SDK 8 我读了很多关于如何实现 Audiorecord 类的文章 但我想知道为什么它在我录制时不读取任何数据 我尝试显示 audioData 和 fftArray 的值 但
  • 我应该释放或重置 MediaPlayer 吗?

    我有自己的自定义适配器类 称为 WordAdapter 并且我正在使用媒体播放器 名为pronounce WordAdapter 类中的全局变量 我有不同的活动 其中每个列表项都有线性布局 名为linearLayout 我正在设置onCli
  • 您使用什么物理 Android 设备进行测试?

    有什么好的推荐用于测试目的的物理 Android 设备吗 我正在苹果阵营寻找像 iPod touch 这样的设备 可以帮助 iOS 开发人员测试他们的东西 我知道有 Nexus One 但那东西相当昂贵 而且我并不真正关心手机的东西 而是可
  • Android 如何将总天数准确更改为年、月、日?

    我正在做一个应用程序 该应用程序与根据给定的生日日期输入获取一个人的年龄有关 为此 我从下面的代码中获取从该日期到当前日期的总天数 String strThatDay 1991 05 10 SimpleDateFormat formatte
  • Android 中的处理程序与异步调用

    目前我正在使用处理程序来调用 Web 服务方法以使其在后台运行 问题是它需要更多的时间来给出响应 在性能方面似乎更昂贵 现在我计划使用异步调用 哪一个是最好的 Android 中的处理程序和异步调用有什么区别 请帮我想出一个最好的解决方案
  • 卡片视图 单击卡片移至新活动

    我是 Android 编程新手 正在研究卡片布局 我想知道如何使其可点击 android clickable true android foreground android attr selectableItemBackground 我的卡
  • 通过系统应用程序以编程方式静默安装 apk(无需 root)

    我有带有 android sharedUserId android uid system UID 1000 的系统级应用程序 设备未root INSTALL PACKAGES 权限包含在清单中 我可以静默安装下载的 apk 吗 我已经发现这
  • 在 Android 应用程序资源中使用 JSON 文件

    假设我的应用程序的原始资源文件夹中有一个包含 JSON 内容的文件 我如何将其读入应用程序 以便我可以解析 JSON See 开放原始资源 http developer android com reference android conte
  • 如何使用 AccessibilityService 在 Android 中模拟按键

    我正在编写一个辅助服务 我一直在尝试在应用程序上进行一些自动搜索 我使用accessibilityservice action paste来填充EditText 然后我需要模拟软键盘上的按键 但我不知道如何做 你们能帮我一下吗 你可以尝试A
  • Android 后台倒计时器

    我有一个 Android 应用程序 它管理一个倒计时器 类 CountDownTimer 它显示在应用程序屏幕中 以显示到达 00 00 还剩多少时间 我现在的问题是 当我按主页按钮或启动另一个应用程序时 应用程序 计时器不会在后台运行 所

随机推荐

  • 使用 Join-Path 相对于字符串连接的优点

    使用有什么好处连接路径创建文件路径而不是仅仅执行类似以下操作 Folder FileName Join Path好处 使用为其运行的提供程序定义的路径分隔符 不仅仅支持文件系统 证书 注册表等 接受多个项目加入 接受凭证 如果结果是相对的
  • 如何使用 Vim 插件 VCSCommand 在目录上 diff/commit/etc ? (或者...什么是 VIm“目录缓冲区”?)

    我是VIM n00b 根据 VCSCommand 文档 如果您当前位于 目录缓冲区 中 则命令将对目录进行操作 不过 我似乎找不到任何其他有关打开 目录缓冲区 的参考 我 可能非常愚蠢 错过了什么 看起来它是缓冲区filetype netr
  • 如何使用 IResourceChangeListener 检测文件重命名并动态设置 EditorPart 名称?

    IResourceChangeListener监听项目工作区中的更改 例如编辑器零件文件名是否已更改 我想知道如何访问该特定的EditorPart并相应地更改其标题名称 例如 setPartName 或者刷新编辑器以便它自动显示新名称 理想
  • 在 Highchart 样条图上的最后一点显示指标

    我知道如何在最后一点显示标记 例如this 当数据是动态的时候 不知道如何标记最后一个点 plotOptions column stacking normal spline marker enabled true 当您动态添加新点时 您可以
  • 在缓冲区对象上运行并通过着色器更改其数据? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 有没有办法在缓冲区对象上运
  • MSSQL 选择“垂直”-其中

    除了 垂直位置 之外 我真的不知道如何解释 想象一下下表 TAGID PRODUCTID SHOP ID 59 3418 7 38 61 3418 7 38 60 4227 4 38 61 4227 4 38 现在我想返回与标签 ID 相关
  • 实例成员不能用于类型

    我有以下课程 class ReportView NSView var categoriesPerPage Int var numPages Int return categoriesPerPage count 编译失败并显示消息 实例成员
  • 链接共享 C 库时 Android NDK 错误

    我正在尝试将一些 C 文件链接到我正在处理的 NDK 项目 并设置我的CMakeLists txt像下面这样归档 cmake minimum required VERSION 3 4 1 set CMAKE C FLAGS CMAKE C
  • 润滑 as_date 和。 as_datetime 行为差异

    我有一个数字向量 表示自 1970 年 1 月 1 日以来的毫秒数 我想使用以下方法将它们转换为日期时间对象lubridate 数据示例如下 raw times lt c 1139689917479 1139667123031 114036
  • 使用浏览器控制台使用 Javascript 在 Facebook 中发送聊天消息

    我尝试使用 Javascript 在 Facebook 中发送聊天消息 但不断收到错误消息 要么是TypeError Object
  • 我可以对 Linux 进程的地址空间中的每个页面进行写保护吗?

    我想知道是否有一种方法可以对 Linux 中的每个页面进行写保护 进程的地址空间 从进程本身的内部 通过mprotect 我所说的 每一页 实际上是指该网站的每一页 进程的地址空间可以被普通进程写入 程序在用户模式下运行 所以 程序文本 常
  • ServiceStack Javascript JsonServiceClient 缺少属性

    我正在尝试使用 Servicestack JsonServiceClient 连接到经过 JWT 身份验证的服务 但是文档仅描述了如何使用 C 客户端执行此操作 http docs servicestack net jwt authprov
  • 计时器不包含在 Xamarin.Forms 的 System.Threading 中

    I used System Threading Timer in Xamarin Android 我如何在中使用同一个类Xamarin Forms 我想从 Xamarin Forms 中的 Xamarin Android 转移我的项目 pu
  • 单击按钮更改颜色在重新加载或重新启动页面后保持不变

    我创建了锚标记 其中使用心形图标 单击后会更改颜色 但我想在重新加载或重新启动页面后保持相同的颜色 当我重新启动或重新加载页面时 它会恢复默认颜色 var btnvar document getElementById favorite fu
  • 如何从 C# 调用 MongoDb 中存储的 JavaScript

    我正在评估将 SQL Server 数据库移植到 MongoDb 问题是移动存储过程 我读到了有关 MongoDb 存储 JavaScript 的内容 我想在 Net 中进行一些测试 我已经安装了 MongoDb 驱动程序 2 4 0 并在
  • 搜索数组中的连续值

    在数组中搜索连续值的最佳方法是什么 例如 搜索array a b in array x a b c 会产生1 因为这些值首先连续出现在该索引处 还没有测试过这个 但类似这样的事情应该可以 function consecutive value
  • 使用 PHP 接收 JSON POST

    我尝试在支付接口网站上接收 JSON POST 但无法对其进行解码 当我打印时 echo POST I get Array 当我尝试这个时我什么也没得到 if POST foreach POST as key gt value echo l
  • 圆与圆的交点

    如何计算两个圆的交点 我希望在所有情况下都会有两个 一个或没有交点 我有中心点的 x 和 y 坐标以及每个圆的半径 python 中的答案是首选 但任何工作算法都是可以接受的 两个圆的交点 保罗 伯克 编剧 The following no
  • Linq to SQL 是如何工作的?

    我在项目中使用 Linq to SQL 我使用它从 SQL 存储过程中获取数据 它工作完美 但我不明白 LINQ SQL 内部如何与 SQL Server 通信 它在获取数据后将数据存储在哪里 它从哪里获取连接字符串 提前致谢 更好读 ht
  • 为什么使用不带 lambda 的内联

    我试图了解如何使用inline修改正确 我了解一般情况 当我们内联 lambda 以防止过度分配时 如中所述docs 我正在检查 kotlin stdlib 并发现 Strings kt下面这段代码 kotlin internal Inli