我正在尝试访问静态内部类方法,但找不到正确的方法。
我需要在Clojure中编写以下Java代码:
SessionProperties sessionProperties = SessionProperties.Builder().mediaMode(MediaMode.ROUTED).build();
我的代码是:
(:import [com.opentok OpenTok MediaMode SessionProperties SessionProperties$Builder]))
(def sessionProperties (.build (.mediaMode SessionProperties$Builder MediaMode/ROUTED))
这是错误:
java.lang.IllegalArgumentException: No matching method found: mediaMode for class java.lang.Class
我正在使用opentok Java library,但我不知道如何访问mediaMode方法。
最佳答案
您的Java代码不起作用。要解决此问题,请在new
和=
之间添加SessionProperties.Builder()
关键字。它应该是:
SessionProperties sessionProperties = new SessionProperties.Builder()
.mediaMode(MediaMode.ROUTED)
.build();
您可以在Clojure中执行以下操作。
user> (import '(com.opentok SessionProperties$Builder MediaMode))
com.opentok.MediaMode
user> (def session-properties (.. (SessionProperties$Builder.)
(mediaMode MediaMode/ROUTED)
build))
#'user/session-properties
user> session-properties
#<SessionProperties com.opentok.SessionProperties@54fc58ee>