当前位置: 首页 > 知识库问答 >
问题:

如何像kotlin[duplicate]一样在java中创建扩展函数

毋玺
2023-03-14

据我所知,我不认为Java有像kotlin这样的扩展函数。但是我想知道有没有办法在java中扩展字符串类来创建扩展函数。

共有1个答案

仉联
2023-03-14

Java本身不支持扩展方法,所以外部库来拯救。流形

使用流形,您可以创建扩展类:

@Extension
public class MyStringExtension {
  public static void echo(@This String thiz) {
    System.out.println(thiz);
  }
}

在这里,我们向字符串添加了一个新的echo()方法,因此我们使用它如下:

"Java".echo();

参考:http://manifold.systems/docs.html#the-延伸歧管

 类似资料:
  • 我在Kotlin文件中定义了扩展函数。 其中是(生成的)java类。现在,我想用正常的java代码访问它: 然而,那是行不通的。IDE将无法识别方法,编译失败。

  • 有人能告诉我该如何在Kotlin中对扩展函数进行单元测试吗?由于它们是静态解析的,应该将它们测试为静态方法调用还是非静态方法调用?另外,由于语言与Java是完全可互操作的,那么应该如何执行Kotlin扩展函数的Java单元测试呢?

  • 问题内容: 我如何像在Java中那样创建数组? 如何在Kotlin中做到这一点? 问题答案: 根据参考资料,可以通过以下方式创建数组: 对于Java的基本类型有不同的类型,等等。它存储拆箱值。 它们是使用相应的构造函数和工厂函数创建的: 第一个与Java中的相似,它只是创建一个填充有默认值的原始数组,例如,对于,为。 非基本数组由类表示,其中项类型。 还是可以的类型Java中的原始的一种(,,…)

  • 我在学习Kotlin的过程中遇到了一个我想不通的问题。我想在Kotlin中扩展Java类,并且能够在不同的情况下使用它的三个构造函数中的任何一个(基于我想抛出异常时所拥有的信息)。在java中,我的类将如下所示: 有人能建议我在Kotlin如何正确地做到这一点吗?

  • 问题内容: 我必须安装到docker postgres上 这是我在Shell中执行我的普通命令的需求 如果我删除容器中的那行,它可以工作,但是我必须自己执行安装,并且我必须告诉项目中的每个人都这样做,这不是一个好习惯 这是我的 这是我的码头工人文件 构建后,我无法运行它 题: 如何从dockerfile 安装? 我想制作图像并将其重新用于团队的整个项目 问题答案: 之所以失败是因为Postgres