我正在解构一个Java对象,从getter中获取所有必需的String值,并将所有这些值连接到每个对象的一个String中。然后我想存储每个字符串是
ArrayList<String>
我将字符串连接到每个对象的一个字符串中,这样我就可以将其打印到pdf文档(pdfbox)中以生成报告。。。我想将每一行的格式设置为与表中的相同。E、 g不管String1是3个字符还是103个字符长,它都将始终填充25个字符的空间——要么子字符串变小,要么缓冲空间变大,这取决于需要什么。
我的问题是如何有效地做到这一点?对于本例,假设我要求每个条目的长度为25个字符。那么,对于我在下面附加的每个值,如何强制所有条目的长度为25个字符?
String SPACE=" ";
for(People peeps: list){
builder = new StringBuilder();
name =(peeps.getName());
// if(name.length()>25){name=name.substring(0,25);}
builder.append(name)
.append(SPACE)
.append(peeps.getCode())
.append(SPACE)
.append(peeps.getReference())
.append(SPACE)
.append(peeps.getDate())
.append(SPACE)
.append(peeps.getStatus())
.append(SPACE)
.append(peeps.getValue());
reportList.add(builder.toString());
}
例如
Apache Commons提供了易于使用的API来处理字符串:
name = StringUtils.substring(name, 0, 25);
name = StringUtils.leftPad(name, 25, ' ');
使用格式类。
StringBuilder sb = new StringBuilder();
Formatter formatter = new Formatter(sb);
sb.append("|");
formatter.format("%-25.25s", "This is some text with more than 25 characters.");
sb.append("|");
formatter.format("%-25.25s", "Some text with less.");
sb.append("|");
formatter.format("%-25.25s", "Some other text.");
sb.append("|");
System.out.println(formatter.toString());
输出:
|This is some text with mo|Some text with less. |Some other text. |
append key value 返回新字符串值的长度。
GETRANGE key start end 返回key 中字符串值的子字符串,字符串的截取范围由start 和end 两个偏移量决定(包括start 和end 在内)。可以使用负值,字符串右面下标是从-1开始的。 注意返回值处理: 1: start>=length, 则返回空字符串 2: stop>=length,则截取至字符结尾 3: 如果start 所处位置在stop右边, 返回空字符串
问题内容: 有没有简单的方法可以向现有字符串中添加n次字符或另一个字符串?我无法找到任何东西,等等。 问题答案: 您可以使用Java 8流API来执行此操作。以下代码从创建字符串:
问题内容: 我在Java程序中有两个字符串,我想以某种方式混合以形成两个新字符串。为此,我必须从每个字符串中提取一些构成字符并将其添加以形成新的字符串。我有这样的代码(this.eka和this.toka是原始字符串): 我正在获取.charAt(x)部分的数字,那么如何将字符转换为字符串? 问题答案: 只使用永远使用代替 例如,当位置arent不是固定值而变量 其中x,y,z是保存从中提取位置的
我尝试在每个“{”之间放置空白: 它适用于一个“{”: 在这里我想要t{estn{g。 谢谢你来看看。
SETRANGE key offset value 用value 参数覆写(overwrite)给定key 所储存的字符串值,从偏移量offset 开始。 不存在的key 当作空白字符串处理。可以用作append: 注意: 如果偏移量>字符长度, 该字符自动补0x00,注意它不会报错