Java system.out.format想要Object [] Array而不是简单的Variables?

时间:2016-03-15 14:43:56

标签: java format printf

我只想用Javas printf方法测试一下。自从我上次使用它以来已经有一段时间了,所以也许现在这是正常行为。

此代码摘自http://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html和维基百科。

问题是,它不会运行。

import java.util.Calendar;

public class TestPrintf {

    public static void main(String[] args) {

            System.out.printf("%s, %s", "Hello", "World!");

           // Writes a formatted string to System.out.
           System.out.format("Local time: %tT", Calendar.getInstance());
           // -> "Local time: 13:34:18"


    }

}

导致

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
The method printf(Locale, String, Object[]) in the type PrintStream is not applicable for the arguments (String, String, String)
The method format(String, Object[]) in the type PrintStream is not applicable for the arguments (String, Calendar)

at TestPrintf.main(TestPrintf.java:7)

我在Ubuntu上使用Eclipse Version:Mars.2 Release(4.5.2),Java版本为1.8.0_74。

我知道它曾经以这种方式工作,但现在我必须提供一个包含变量的数组?如果我想格式化字符串和整数的混合怎么办?现在真的需要具有混合类型的Object []吗?

有必要了解为何需要/已更改。

1 个答案:

答案 0 :(得分:1)

我建议您检查项目中的编译器合规性级别是否设置为1.5或更高。

有关如何执行此操作的说明,请参阅this问题。