首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

在Clojure REPL中使用Java的java.time包,可以通过以下步骤进行:

  1. 首先,确保你已经在Clojure项目中引入了Java的java.time包。可以在项目的依赖管理文件(如project.clj或deps.edn)中添加以下依赖:
代码语言:txt
复制
[org.clojure/java-time "0.3.2"]
  1. 在Clojure文件中,使用requireuse指令导入java.time包:
代码语言:txt
复制
(ns my-namespace
  (:require [java.time]))
  1. 现在,你可以在Clojure REPL中使用java.time包中的类和函数了。例如,要使用LocalDateTime类,可以执行以下操作:
代码语言:txt
复制
(java.time.LocalDateTime/now)

这将返回当前的本地日期和时间。

注意:在Clojure中,Java类和函数的调用需要使用Java的命名约定,即使用斜杠(/)而不是点号(.)来分隔包和类名。

关于java.time包的更多信息和使用示例,你可以参考以下链接:

腾讯云相关产品和产品介绍链接地址方面,由于要求不能提及特定的云计算品牌商,我无法提供具体的链接。但你可以在腾讯云的官方网站上搜索相关产品,例如云服务器、云数据库等,以获取更多关于腾讯云的信息和产品介绍。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【100 种语言速成】第 5 节:Kotlin

Kotlin 之于 Java 就像 ES6 之于旧式 JavaScript。很多人都被 JavaScript 引擎(如浏览器)或 JVM(如 Android)所困。...Kotlin 在 Android 开发人员中特别受欢迎,但你可以在任何可以使用 JVM 的地方使用它,而且现在真的很难找到使用“纯 Java”的正当理由。...你甚至不能使用==, 你需要运行.equals(),但如果其中一方为空,那将真的崩溃,所以你需要先对双方进行空检查,然后.equals()。基本数据操作的样板数量太荒谬了。...函数式编程 我们如何在 Kotlin 中执行 map、filter 和 reduce ?它看起来像带有{ arguments -> ... }块的 Ruby。...还有其他 JVM 语言,如 JRuby、Clojure、Scala 等,但它们本质上是不同的语言,具有不同的语义和不同的互操作性故事。Kotlin 只是固定 Java,仅此而已。

1.7K51
  • Clojure文件操作和惰性序列

    本文,我会介绍如何在Clojure中读取和写入这些数据。 1. 打开文件 新建文件hello.txt,放到resources目录,内容如下: hello world! hello lambeta!...新建4io.clj,输入程序: (ns the-way-to-clojure.4io (:require [clojure.java.io :as io] [clojure.string...这里使用了(doall )方法,如果不用这个方法,在repl中求值的时候会表达式导致抛出Unhandled java.io.IOException Stream closed异常。...使用clojure.java.io/writer 我们在项目的根目录新建numbers.txt,内容是多行的数字对,如下: 1.3 2.7 10000 1 -1 1 我们需要把每行两个数字,和它们相加的结果写入到...当repl尝试pretty-print惰性序列的结果时,才会进行变现操作。 有了上面的知识点,我们来考察with-open和(take 2 (line-seq ))的关系。

    3.1K30

    Clojure 开发那些事

    里面函数是一级成员,这意味着函数可以作为参数传入,也可以作为函数值返回,能够进行这两类操作的函数称为“高阶函数”(high-order functions),这在任何一门函数式语言中都很普及。...这也就意味我们或多或少需要了解这些宿主语言,比如 Clojure 里面没有提供直接操作文件系统、网络的类库,而是采用间接的方法去调用其宿主语言的相应类库。...第三方类库的选择 由于 Clojure 语言定位就是个寄宿语言,所以无论是 Web 框架,还是数据库连接池,Clojure 里都有与 Java 版相对应包装类库,大家不必担心要使用某个功能,而没有相应库的问题...其实,在使用第三方类库之余,多去了解其实现,代码从 Github 上 Clone 下来,慢慢看,Clojure 里面提供了很多实用的小方法,像partition, juxt, group-by等等不一而足...nrepl Clojure 的 REPL 可以连接到远程服务器上的进程中,直接对进程中的函数或变量进行修改,这是非常便利的,对于很多运行时的错误可以采用这种方式解决,Emacs 与 Intellj 里面都提供了连接远程

    1.6K20

    Clojure与LispClojure与Lisp

    Clojure简介 运行于Java虚拟机的List方言Clojure....如今,在任何具备 Java 虚拟机的地方,都可以使用 Lisp 的强大功能。 Clojure 是一种函数式编程语言 它囊括了函数式编程的所有精华: 避免了不稳定状态、递归、更高阶的函数等。...Clojure 不仅可在 JVM 上运行,而且可以与Java无缝融合(JVM平台的语言家族原则上都支持)的互操作性。最后,Clojure 在设计上也考虑了并发性,并具有并发编程的一些独特特性。...(3)实用:前面提到,构建在JVM之上,跟Java语言的互操作非常容易。直接调用Java方法,不去发明一套新的调用语法,努力规避Java语言中繁琐的地方(doto,箭头宏等等)。...,能够跟Java代码无缝互操作,JVM上所有资源都可以为Clojure所用。

    1.9K30

    Chrome Extension in CLJS —— 搭建开发环境

    我们可以通过lein repl启动Clojure的nRepl。  ...repl升级cljs repl  通过lein repl我们建立了一个cljs nrepl供fireplace使用,但在终端中我们看到的是一个clojure的repl,而tslime恰好要用的就是这个终端的...那现在我们只要在clojure repl中执行(cemerick.piggieback/cljs-repl (cljs.repl.rhino/repl-env))即可。...然后就可以在vim中把光标移动到相应的表达式上按,那么这个表达式就会自动复制粘贴到repl中执行了。...但启用advanced编译模式后,由于上述外部标识符的定义并不纳入GCC的编译范围,因此GCC仅仅将调用部分代码压缩了,而定义部分还是原封不动,那么在运行时调用中自然而然就找不到相应的定义咯。

    2.1K60

    Clojure 运行原理之字节码生成篇

    上一篇文章讲述了 Clojure 编译器工作的整体流程,主要涉及 LispReader 与 Compiler 这两个类,而且指出编译器并没有把 Clojure 转为相应的 Java 代码,而是直接使用...但仔细想想会有如下问题: 在 REPL 里面,可以动态添加、修改函数,如果一个命名空间相当于一个类,那么这个类会被反复加载 由于函数和字符串一样是一等成员,这意味这函数既可以作为参数、也可以作为返回值,...交互 defrecord、deftype生成同名的类,proxy、reify生成匿名的类 需要明确一点,只有在 AOT 编译时,Clojure 才会在本地生成 .class 文件,其他情况下生成的类均在内存中...正如上一篇文章的介绍,这三个方法正是 Compiler 的入口函数,这也就解释了上面 REPL 中的实验: 每次重定义一个函数,都会生成一个新 DynamicClassLoader 实例去加载其实现。...# 为了能用 java -jar 方式运行,需要在 project.clj 中添加 # :main how-clojure-work.core $ lein uberjar $ time java -jar

    74320

    StarUML 免注册码 Mac OS

    使用Kotlin 让 Java程序员们的生活变得更好,Java中的那些空指针错误,浪费时间的冗长的样板代码,啰嗦的语法限制等等,在Kotlin中统统消失。...Java诞生于1995年,至今已有23年历史。当前最新版本是 Java 9。在 JVM 生态不断发展繁荣的过程中,也诞生了Scala、Groovy、Clojure 等兄弟语言。...2.与Java的100%互操作性 Kotlin可以直接与Java类交互,反之亦然。这个特性使得我们可以直接重用我们的代码库,并将其迁移到 Kotlin中。由于Java的互操作性几乎无处不在。...3.扩展函数 Kotlin 类似于 C# 和 Gosu, 它提供了为现有类提供新功能扩展的能力,而不必从该类继承或使用任何类型的设计模式 (如装饰器模式)。...例如:集合类 API、IO 扩展类、反射API 等。同时 Kotlin 社区也提供了丰富的文档和大量的学习资料,还有在线REPL。

    3.4K41

    Chrome Extension in CLJS —— 搭建开发环境

    我们可以通过lein repl启动Clojure的nRepl。  ...repl升级cljs repl  通过lein repl我们建立了一个cljs nrepl供fireplace使用,但在终端中我们看到的是一个clojure的repl,而tslime恰好要用的就是这个终端的...那现在我们只要在clojure repl中执行(cemerick.piggieback/cljs-repl (cljs.repl.rhino/repl-env))即可。...然后就可以在vim中把光标移动到相应的表达式上按,那么这个表达式就会自动复制粘贴到repl中执行了。...但启用advanced编译模式后,由于上述外部标识符的定义并不纳入GCC的编译范围,因此GCC仅仅将调用部分代码压缩了,而定义部分还是原封不动,那么在运行时调用中自然而然就找不到相应的定义咯。

    1.7K20

    《Kotin 编程思想·实战》

    源代码编译执行过程 1.3.2 Java Class文件简介 1.3.3 JVM字节码执行过程 1.4 JVM语言家族 1.4.1 Scala 1.4.2 Groovy 1.4.3 Clojure...Kotlin 1.4.5 Xtend 第2章 Kotlin简介 2.1 kotlin简史 2.2 快速学习工具 2.2.1 云端IDE 2.2.2 本地命令行环境搭建 2.2.3 Kotlin REPL...互操作(Interoperability) 9.1 使用工具互相转换 9.1.1 将 Java 转换为 Kotlin 9.1.2 将 Kotlin 转换为 Java 9.1.3 兼容 Java 的缺点...9.2 Kotlin与Java互操作 9.2.1 Kotlin无缝调用第三方jar库 9.2.2 执行shell 9.2.3 文件操作 9.2.4 多线程代码 9.3 Kotlin与Java的区别...object 9.3.5 包级别函数 9.3.6 重载必须使用override 第10章 集合类与泛型 10.1 Kotlin集合类 10.1.1 不可变集合类 10.1.1.1 List 10.1.1.2

    1.2K10

    Java 8的函数式编程学习

    事实上,很多函数式语言比这走得更远,将计算和算法看得比它们操作的数据更重要。其中有些语言想分离程序状态和函数(以一种看起来有点对立的方式,使用面向对象的语言,这通常会将它们联系得更紧密)。...Clojure编程语言就是一个这样的例子,尽管它运行于基于类的Java虚拟机,Clojure的本质是函数式语言,并且在高级语言源程序中不直接公布类和对象(尽管提供了与Java良好的互操作性)。...函数能够很容易地结合在一起,这在开发者工作流风格中很常见,例如Lisp方言和其它具有强函数传统的语言中很普遍的REPL(Read, Execute, Print, Loop)风格。...类、接口或者数组属于引用类型。 类是Java平台的核心,类是Java平台将会加载、或链接的功能的基本单位,所有要执行的代码都必须驻留于一个类中。...Java 8需要引入一些新的类型来表示函数管道的基本构造块,如java.util.function中的Predicate、Function和Consumer接口。

    99770

    clojure基础入门(一)

    解压后用命令行进入到clojure目录下,输入下面命令进入REPL命令行交互界面: java -cp clojure-1.7.0.jar clojure.main ?...欢迎进入clojure的世界。  ? 变量 Clojure中的变量可以def关键字来声明:  ? clojure数据类型是弱类型,对应java中的object,然后通过变量名直接调用。...函数式编程中以函数为第一类对象,其小括号后面第一个元素被Clojure解释器当成一个函数或宏,其后面的都会被当成参数,如上"hello world"是被当成参数传入str函数进行输出。...函数 clojure中以函数为第一类对象,其小括号后面第一个元素被Clojure解释器当成一个函数或宏,其后面的都会被当成参数。...总结 Clojure里面的每个操作被实现成以下三种形式:  函数(function)     文中以defn定义的。

    1.5K30

    【JAVA-Day41】Date 在java中的使用

    请注意,尽管这些方法可以在 Java 8 中使用,但新的日期时间 API(java.time 包)提供了更多功能和更好的可读性,因此在新的代码中更推荐使用新的 API。 ️...如果您在 Java 17 中需要日期和时间操作,强烈建议使用 java.time 包中的类,如 LocalDate、LocalDateTime、ZonedDateTime 等。...但请注意,这不是 Java 17 的新功能,而只是一个示例。如果可能的话,仍然建议使用 java.time 包中的类进行日期和时间操作。...如果你需要处理日期和时间,以及时区信息,你应该考虑使用 java.time 包中的类,如 LocalDate、LocalDateTime 和 ZonedDateTime,它们提供更好的功能和可读性。...虽然 Date 类可以在这些情况下发挥作用,但在新的 Java 应用程序中,推荐使用 java.time 包中的日期和时间 API,因为它们提供了更丰富的功能、更好的可读性以及更好的时区支持。

    8810

    Java中获取年份月份的方法

    在实际开发中,推荐使用java.time包中的类,因为它们更加强大且易于使用。 2. Java日期时间API概述 2.1 Java中日期时间API的演变 Java的日期时间API经历了几次重要的演变。...此外,java.time包中的类都是不可变的,这意味着它们是线程安全的,可以在多线程环境中安全使用。 通过对比,可以看出java.time包提供了更加现代、更加强大且易于使用的日期时间处理方式。...在实际开发中,推荐使用java.time包下的类,因为它们提供了更好的编程体验和更强大功能,同时也更加符合现代Java的风格。 4....高级日期时间操作 在Java中,除了基本的获取年份和月份外,还可以进行更高级的日期时间操作,如格式化日期、解析字符串、计算日期差等。以下是一些高级操作的示例代码。...在示例中,我们只获取了月份的差值。 这些高级操作在处理日期时间数据时非常有用,特别是在需要显示给用户、处理用户输入或进行日期计算时。使用java.time包中的类可以方便地完成这些任务。 5.

    24010

    【JAVA-Day43】Java常用类Calendar解析

    介绍java.util.Calendar类 什么是java.util.Calendar? java.util.Calendar是Java日期和时间操作的核心类之一。...格式化日期为字符串是将日期呈现给用户或存储在文件中的常见操作。SimpleDateFormat类使这一过程非常简单。...java.util.Calendar类提供了强大的功能,可以帮助我们处理这些需求。让我们深入研究如何在Calendar中处理重复事件以及如何创建和管理日历事件。 如何处理重复事件(例如,每周会议)?...java.time的类是线程安全的,可以在多线程环境中安全使用。 API设计: java.time的API设计更一致、直观,易于使用。...总结 通过本文,您已经深入了解了java.util.Calendar类以及如何在Java中进行高级日期处理。

    9910

    clojure基础入门(一)

    解压后用命令行进入到clojure目录下,输入下面命令进入REPL命令行交互界面: java -cp clojure-1.7.0.jar clojure.main ?...欢迎进入clojure的世界。  ? 变量 Clojure中的变量可以def关键字来声明:  ? clojure数据类型是弱类型,对应java中的object,然后通过变量名直接调用。...函数式编程中以函数为第一类对象,其小括号后面第一个元素被Clojure解释器当成一个函数或宏,其后面的都会被当成参数,如上"hello world"是被当成参数传入str函数进行输出。...函数 clojure中以函数为第一类对象,其小括号后面第一个元素被Clojure解释器当成一个函数或宏,其后面的都会被当成参数。...总结 Clojure里面的每个操作被实现成以下三种形式:  函数(function)     文中以defn定义的。

    1.3K40

    使用 ClojureScript 开发浏览器插件的过程与收获

    对于 Clojure,我目前在 sf 上有一套视频课程,供参考。 为了方便大家使用 cljs 开发插件,我整理了一份模板,供大家参考。...ClojureScript 工作机制 ClojureScript 是使用 Clojure 编写,最终编译生成 JS 代码的一个编译器,在编译过程中使用 Google Closure Compiler 来优化...采用这种方式会报如下的错误 根据错误提示,可以看出是 base.js 再去动态引用其他 js 文件时,是以访问网站为相对路径开始的,因此也就找不到正确的 JS 文件了。...这一点在 Clojure 里面虽然也存在,但是 Clojure 里面一般 repl 开了就不关了,直到电脑重启。...默认会使用 rhino 作为 repl 求值环境,这个在开发浏览器插件时功能很有限,但是对于查看函数定义还是可以的。

    79230

    (cljsrun-at (JSVM. :browser) 命名空间就这么简单)

    :require中引入macro已经间接接触到:require-macros了,因为它实际上会解析成:require-macros来使用的!...use-macros helper.core :only [i-am-macro1] :rename {i-am-macro1 m1})) (m1) 通过:import引入Google Closure中的类型和枚举类...])) require用在REPL中就好了  在REPL中我们会使用如require、use、require-macros、import等macro来引入命名空间。...请紧记,这些确实仅仅用于REPL中而已。而且当我们修改源码后,需要通过(require 命名空间 :reload)来重置并重新加载这个命名空间,不带:reload的话新修改的功能将不会生效哦!  ...如 (require 'clojure.data) (require '[clojure.set :as s]) 最佳实践 根据clojure-style-guide描述优先级别如下: :require

    82750

    【Java 基础篇】Java Date 类详解:日期和时间操作的利器

    在 Java 编程中,处理日期和时间是一项常见但复杂的任务。Java 提供了许多用于日期和时间操作的类,其中 java.util.Date 类是最早的日期和时间类之一。...本篇博客将详细介绍 Java 中的 java.time 包,重点关注 LocalDate、LocalTime 和 LocalDateTime 类的使用。 为什么使用 java.time 包?...在介绍 java.time 包之前,让我们先了解一下为什么我们需要它。在早期版本的 Java 中,主要使用 java.util.Date 类来处理日期和时间。...以下是一些关于 java.time 类的使用注意事项: 不可变性: java.time 类是不可变的,这意味着一旦创建了日期时间对象,它的值将无法更改。因此,任何对日期时间的操作都会返回一个新的对象。...使用 java.time 包可以更轻松地处理日期和时间,避免了早期版本中 java.util.Date 的一些问题,如可变性和精度不足。

    1.3K10
    领券