Java 编制的报表等价物

Java 编制的报表等价物,java,string,Java,String,至于SQL查询,我们有preparedStatement对象,它在编译时编译,我们可以在运行时用一个值设置通配符(?在本例中) 是否有一个在java中实现非SQL工作的等价方法,例如,把StringFormat作为一个假设类: StringFormat sf = new StringFormat("ams_?_xyz); List<String> Codes = new ArrayList<>(Arrays.asList("a", "b")); for(Code c: C

至于SQL查询,我们有preparedStatement对象,它在编译时编译,我们可以在运行时用一个值设置通配符(?在本例中)

是否有一个在java中实现非SQL工作的等价方法,例如,把StringFormat作为一个假设类:

StringFormat sf = new StringFormat("ams_?_xyz);
List<String> Codes = new ArrayList<>(Arrays.asList("a", "b"));
for(Code c: Codes) {
  sf.set(1, c);
  String str = sf.getString();
  // do something
}
StringFormat sf=新的StringFormat(“ams_?xyz”);
列表代码=新的ArrayList(Arrays.asList(“a”、“b”));
用于(代码c:代码){
sf.set(1,c);
String str=sf.getString();
//做点什么
}

您可以获得的最接近的值是
String.format()


您可以通过静态方法实现这一点:

String template=“aws_u%s_xyz”;
列表代码=新的ArrayList(Arrays.asList(“a”、“b”));
用于(字符串代码:代码){
String str=String.format(模板、代码);
}
“%s”
类似于准备好的语句中的问号

您可以使用

public static String format​(String format, Object... args)
这需要一个字符串和一个varargs,您的代码可以是:

List<String> codes = Arrays.asList("a", "b");
String someString = "ams_%s_xyz";
someString = String.format(someString, codes.toArray());
它将从数组中逐个提取并替换为字符串,例如:

String someString = "ams_%s_xyz__%s";
                         ^^      ^^
这将返回:

ams_a_xyz
    ^
ams_a_xyz__b
    ^      ^

等等

你想解决的问题是什么?所以,如果我得到你的答案,你需要像模板一样的字符串并替换其中的参数。我说的对吗?是的,这就是我要找的。那么你能给我们一个示例输入和所需的输出吗?
String#format
没有收到一个
列表作为参数。是的,这非常明显s、 @LuiggiMendoza对不起,我的代码没有使用
列表调用
String.format
,这就是我在for中迭代
代码的原因loop@LuiggiMendoza我不是很确定,但OP似乎在寻找类似这样的东西,一个“替换模板”“在一个循环中,如果不是这样,那么YCFúL的答案可能就是他正在寻找的答案
String someString = "ams_%s_xyz__%s";
                         ^^      ^^
ams_a_xyz__b
    ^      ^