一尘不染

Java 如何在Scala中使用java.String.format?

java

我正在尝试使用.format字符串方法。但是,如果我将%1,%2等放置在字符串中,则会抛出java.util.UnknownFormatConversionException,指向一个令人困惑的Java源代码片段:

private void checkText(String s) {

    int idx;

    // If there are any '%' in the given string, we got a bad format
    // specifier.
    if ((idx = s.indexOf('%')) != -1) {
        char c = (idx > s.length() - 2 ? '%' : s.charAt(idx + 1));
        throw new UnknownFormatConversionException(String.valueOf(c));
    }
}

从中我了解到% char是被禁止的。如果是这样,那么我应该对参数占位符使用什么?

我使用Scala 2.8。


阅读 318

收藏
2020-03-15

共1个答案

一尘不染

尽管所有先前的回答都是正确的,但它们都是Java语言。这是一个Scala示例:

val placeholder = "Hello %s, isn't %s cool?"
val formatted = placeholder.format("Ivan", "Scala")
2020-03-15