gpt4 book ai didi

java - 调用动态生成名称的类的方法

转载 作者:行者123 更新时间:2023-11-30 07:18:09 26 4
gpt4 key购买 nike

我正在用 Clojure 编写简单的应用程序。我的任务是(从用户那里)获取实现 Runnable 接口(interface)并调用 start 方法的完全限定类名(Java 类)。我的问题是当我先验不知道类名时如何运行此方法?基于this我试过这样的事情(在简单的 String 类上)但我失败了:

(defn schedule [parameter]
(def class-name (subs parameter 6)) ; get just class name for e.g. java.lang.String
(println (.getName class-name)))

我还找到了this但我不太确定如何使用它,因为我也失败了。有什么想法吗?

最佳答案

如果你想避免使用宏,你可以这样做:

(defn schedule [name]
(let [thread (-> name Class/forName .newInstance Thread.)]
(.start thread)
thread))

然后您可以用通常的 Java 方式与返回的 Thread 对象交互。

关于java - 调用动态生成名称的类的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15557872/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com