在 android java 类中使用 Kotlin 扩展

2024-01-15

是否可以在 android java 类中使用 kotlin 扩展? 例子:

fun String.getSomething(): String {
    return "something"
}

然后在Java中像这样使用它:

String someString = "blabla";
someString.getSomething();

这可能吗?


Kotlin 的扩展函数被编译为以接收者作为第一个参数的 JVM 方法。如果您的扩展函数是在顶层声明的,例如在名为的文件中file.kt:

package foo

fun String.getSomething(): String {
    return "something"
}

然后,在Java中,您可以从相应的静态方法中调用文件类 https://kotlinlang.org/docs/reference/java-to-kotlin-interop.html#package-level-functions:

import foo.FileKt;

...

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

在 android java 类中使用 Kotlin 扩展 的相关文章

随机推荐

  • 添加黑条以创建 16x9 图像

    我的服务器上有一张jpg 我用 imagecreatefromjpeg imgPath 打开它 我想通过在顶部 底部或左侧 右侧添加黑条来使其成为 16x9 图像 思考background size contain background p
  • 使用 pandoc 从 Markdown 转换为 PDF 时设置双倍间距和行号

    我正在使用 markdown 和 pandoc 进行科学写作 我知道我可以使用以下命令更改最终 pdf 的边距 使用 pandoc 从 Markdown 转换为 PDF 时设置边距大小 https stackoverflow com que
  • Jackson @ResponseBody 上的内部服务器错误

    我只想将我的用户对象作为 JSON 返回 以供客户端的 ajax 调用使用 这在某一时刻是有效的 经过一些更新 即 将应用程序更改为部署到 在 Jetty 中 后 现在就不行了 我没有从代码中抛出异常 它返回得很好 但在尝试将对象转换为 J
  • 如何使用 Rxjs 实现队列?

    有了 Promise 就可以很容易地实现一个队列来防止多个 HTTP 请求并行运行 class Runner private promise constructor http this promise q resolve getUrl re
  • QtCreator 中使用 Clang 支持 C++14

    如何使用 Clang 3 5 在 QtCreator 3 3 中启用 C 14 支持 我添加了一个 Clang 套件并且添加了CONFIG c 14在我的项目文件中 然而 当使用例如返回类型推导 https stackoverflow co
  • 如何将多个函数应用于 groupby 对象

    例如 我有两个 lambda 函数可应用于分组数据框 df groupby A B apply lambda g df groupby A B apply lambda g 两者都可以工作 但组合起来就不行了 df groupby A B
  • 在 Tkinter 主循环期间录制 OpenCV 视频

    我正在开发一项心理学实验 分析用户在完成行为任务时所做的面部表情 该应用程序主要通过 Tkinter 运行 我使用 openCV 来捕获视频 在最小的情况下 我需要根据用户响应开始和停止录制 例如 在下面的代码中 我希望用户使用鼠标按下按钮
  • 当 pthread_attr_t 不为 NULL 时?

    POSIX 线程中 pthread create 的所有参数都非常容易理解 除了线程属性 什么是线程属性不应该被初始化的原因 方式和时间NULL 我经历了Linuxman page http man7 org linux man pages
  • 使用 codeigniter 发送简单的电子邮件

    我正在尝试使用 codeigniter 发送简单的电子邮件 如解释此链接所示Codeigniter 电子邮件类 https www codeigniter com user guide libraries email html 但它不起作用
  • 在 C++14 / C++11 中隐藏 中的 isnan?

    我这里有一个小型测试应用程序 它使用isnan from
  • 这是哈希密码的安全方法吗?

    您能否告诉我以下是否是安全地散列密码以存储在数据库中的好方法 public string CreateStrongHash string textToHash byte salt System Text Encoding ASCII Get
  • SQL MAX(DATE) 订单号

    我有以下查询 SELECT o ClientId o MAX Date o OrderNumber FROM dbo tblOrders GROUP BY o ClientId o OrderNumber 这仍然给我所有订单号 我如何才能只
  • 如何使用 Javascript 在 Google Map v3 中使用 GTFS feed?

    我第一次尝试将 GTFS 通用交通源规范 与 Google 地图结合使用 根据 Google 开发人员页面 我已经了解了用作源的 txt 文件的概念 为了制作演示 我从以下位置下载了一个交通 zip 文件谷歌开发者页面 但我不知道如何使用这
  • 如何在 .htaccess 文件中编写 if - elseif - else if 条件块?

    这就是我想用伪代码完成的事情 if server host equals productionsite com then RewriteBase else if server host equals stagingsite com then
  • Python装饰类

    我正在尝试装饰一个class有参数但无法让它工作 这是装饰器 def message param1 param2 def get message func func init param1 param2 return get message
  • spring 添加默认值到 form:select

    我正在开发一个 Spring 应用程序 现在我使用以下方法向我的 jsp 页面之一添加了一个下拉列表
  • jQuery 将类添加到特定的 div

    我有一段代码正在读取购物篮中有多少商品 我想向 ID 为 basket count 的 div 添加一个类 我知道如何在出现计数器的情况下将类添加到 span 标记 不知道如何从这里开始 任何帮助将不胜感激 span ctl00 lblIt
  • 更改java中的输入语言

    我的申请是希伯来语的 运行我的应用程序的计算机都将英语设置为默认语言 将希伯来语设置为第二语言 每次他们需要向我的 JTextFields 输入内容时 他们都必须 alt shift 来更改语言 他们中的一些人甚至不看显示器就开始写 我得到
  • Office Open XML 项目符号列表

    我正在尝试创建一个 Office 打开的 xml 文档 其中包含项目符号列表 但该文档没有显示项目符号 而是显示了编号列表 这就是我寻找的 第 1 款 第 2 段 相反 我得到以下列表 第 1 款 第 2 段 我已经深入挖掘了网络并用谷歌搜
  • 在 android java 类中使用 Kotlin 扩展

    是否可以在 android java 类中使用 kotlin 扩展 例子 fun String getSomething String return something 然后在Java中像这样使用它 String someString bl