gpt4 book ai didi

clojure - 如何在 clojure repl 中使用 java.time? Java 互操作找不到类

转载 作者:行者123 更新时间:2023-12-05 02:59:09 24 4
gpt4 key购买 nike

如何在 clojure 中使用 java.time 库?我什至无法将它导入到我的 repl 中。

user=> *clojure-version*
{:major 1, :minor 10, :incremental 0, :qualifier nil}
user=> (java.util.Date.)
#object[java.util.Date 0x5c22a205 "Tue Oct 08 22:10:21 PDT 2019"]

user=> (java.time.Instant.)
Syntax error (IllegalArgumentException) compiling new at (REPL:1:1).
No matching ctor found for class java.time.Instant

它在 java 文档中,我安装了 java 13 https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/time/Instant.html

https://github.com/dm3/clojure.java-time声称使用它,如果我想在我可能会这样做的项目中使用它,那就太好了。但我只想导入它并在 repl 中玩一个日期。它是怎么做到的?

最佳答案

在 Clojure 中,带有“.”的语法 (some.class.Name.)在类名之后表示调用该类的构造函数。如果您查看类 java.time.Instant 的 Java 文档页面,您会注意到它没有构造函数:https://docs.oracle.com/javase/8/docs/api/java/time/Instant.html

有一个名为 now 的方法返回 Instant 类型的对象,您可以在 Clojure 中使用以下语法调用它:

user=> (java.time.Instant/now)
#object[java.time.Instant 0x599f571f "2019-10-09T05:18:06.192393Z"]

关于clojure - 如何在 clojure repl 中使用 java.time? Java 互操作找不到类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58297404/

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