1

printfjava.io.PrintWriter(特别是System.out)上调用多参数函数时遇到问题。

user=> (.printf System/out (into-array Object ["foo"]))
IllegalArgumentException No matching method found: printf for class java.io.PrintStream
clojure.lang.Reflector.invokeMatchingMethod (Reflector.java:53)
user=>
4

1 回答 1

3

您的代码尝试调用类的方法printf(Object[] arg)java.io.PrintStream但是这样的方法是不存在的。可能你想这样称呼它printf(String format, Object ... args)

(.printf System/out "arg1: %s" (into-array Object ["foo"]))
=> #<PrintStream java.io.PrintStream@708e4544>
arg1: foo

#<PrintStream java.io.PrintStream@708e4544>是一个从printf.

于 2014-10-31T09:03:56.183 回答