gpt4 book ai didi

Java 我 : easiest way to format strings?

转载 作者:搜寻专家 更新时间:2023-11-01 03:28:12 25 4
gpt4 key购买 nike

在 Java ME 中,我需要做一个简单的字符串替换:String.format("This string contains placeholders %s %s %s", "first", "second", "third");
占位符不必位于字符串的末尾:

String.format ("Your name is %s and you are %s years old", "Mark", "18");

但是,据我所知,String.format 方法在 j2me 中不可用。有什么替代方法?如何在不编写自己的函数的情况下实现简单的字符串格式化?

最佳答案

你在这里运气不好,Java ME 的 API 非常有限,所以你必须为此编写自己的代码。

像这样:

public class FormatTest {

public static String format(String format, String[] args) {
int argIndex = 0;
int startOffset = 0;
int placeholderOffset = format.indexOf("%s");

if (placeholderOffset == -1) {
return format;
}

int capacity = format.length();

if (args != null) {
for (int i=0;i<args.length;i++) {
capacity+=args[i].length();
}
}

StringBuffer sb = new StringBuffer(capacity);

while (placeholderOffset != -1) {
sb.append(format.substring(startOffset,placeholderOffset));

if (args!=null && argIndex<args.length) {
sb.append(args[argIndex]);
}

argIndex++;
startOffset=placeholderOffset+2;
placeholderOffset = format.indexOf("%s", startOffset);
}

if (startOffset<format.length()) {
sb.append(format.substring(startOffset));
}

return sb.toString();
}

public static void main(String[] args) {
System.out.println(
format("This string contains placeholders %s %s %s ", new String[]{"first", "second", "third"})
);
}
}

关于Java 我 : easiest way to format strings?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7738329/

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