如何使用String.format()左对齐字符串?

De *_*sta 53 java string string.format alignment

我在Java中使用String.format()试图模拟C中可用的printf()控制通道.我理解如何指定字符串应该放在一个需要20个字符的字段中,5,2 ... 3位小数,2位等.但是,字符串在其字段中右对齐打印.

如何左对齐字符串?

这是一个可能的输出示例,我想修改为左对齐EXECUTINGCREATED它们的字段.

Process PID: 25    Status: -----------       EXECUTING
Process PID: 36    Status: READY-SUSPENDED
Process PID:  4    Status: ----------------        CREATED
Run Code Online (Sandbox Code Playgroud)

*注意:将' - '视为空白区域

Chr*_*odd 101

与printf相同 - -在格式中使用修饰符

  • 如果你使用位置说明符,`String.format("%1$-10s", "test")` (2认同)

小智 9

System.out.format("%-10d%-32s%-16s%-16s%-32s", obj.getId(), obj.getBname(), obj.getAname(),obj.getLanguage(),obj.getPublication());
Run Code Online (Sandbox Code Playgroud)

-只需在数字前面添加连字符即可。