java - 在 Java 中使用 Scala 对象

标签 java scala rabbitmq

我正在使用用 Scala 编写的 Reactive RabbitMQ 库。

我遇到了这个构造:

public interface DeliveryMode { }

public final class Persistent {
    public static String toString() {
        return Persistent$.MODULE$.toString();
    }

    // Other static functions.
}

public final class Persistent$ implements DeliveryMode, Product, Serializable {
    public static final Persistent$ MODULE$;

    static {
        new Persistent$();
    }

    // Other code
    public String toString() {
        return "Persistent";
    }

    private Persistent$() {
        MODULE$ = this;
        class.$init$(this);
    }
}

如果他们想要访问接受DeliveryMode的函数 就像

public Message(DeliveryMode mode) {}

他们只是传入 Scala

Message(Persistent);

这个类型也可以在Java中使用吗?

最佳答案

代码是用java编写的,所以我不明白哪里困惑了。当然,正如您所期望的那样,它可以在 java 中工作。实现 DeliveryMode 的 Persisted$ 类有一个名为 MODULE$ 的静态实例。

Message(Persistent$.MODULE$);

假设 Persistent$ 已正确导入。

关于java - 在 Java 中使用 Scala 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43210989/

相关文章:

java - JBoss EAP 6.4 -> 7.1 使用 hibernate 4 而不是默认的 hibernate 5

java - 删除intelliJ中点周围的所有空格和制表符?

rabbitmq - 是否可以直接从命令行查看RabbitMQ消息内容?

python - 如何在有限的时间内通过 pika 消费 RabbitMQ 消息?

java - 二进制 XML 文件行 #19 : Error inflating class only on Android 3. 2

java - 如何将 log4j2 JMSAppender 与 ActiveMQ 结合使用

java - 将 java 函数 URLDecoder.decode 应用于 Spark 3 中的整个列

scala - 如何使此Scala函数(一种 “flatMap”变体)尾部递归?

scala - 在 Actors 外部登录 Akka TestKit

php - 安排许多作业按时间戳执行