gpt4 book ai didi

java - 如何使用 toString 方法轻松整齐地打印多个对象,这些对象也已对齐?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:30:58 25 4
gpt4 key购买 nike

我有一个成员的 ArrayList,每个成员都有自己的信息,包括姓名、年龄、出生日期等,在打印到终端时使用 toString 方法调用。

代码如下:

@Override
public String toString() {
return "|ID: " + id + "| Name: " + name + "| Age: " +
calculateAge(age, LocalDate.now()) + "| Tlf.: " + tlfNo + "| Active: " +
activeMember + "| Next payment: " + nextPayment + "|";
}

这是输出:

|ID: 12| Name: Casper| Age: 49| Tlf.: 12345678| Active: true| Next payment: 2018-02-12|
|ID: 13| Name: Allan| Age: 69| Tlf.: 12345678| Active: true| Next payment: 2018-01-12|
|ID: 16| Name: Christina| Age: 100| Tlf.: 12345678| Active: false| Next payment: 2018-02-04|
|ID: 19| Name: RICK| Age: 49| Tlf.: 12345678| Active: false| Next payment: 2018-04-14|

如何让不同的信息相互对齐?

最佳答案

你可以这样做:

 public String toString() {
return String.format("|id: %10d |Name: %30s| Age: %02d | Tlf.: %d| Active: %s| Next Payment: %s |", id, getNameTrimmed() , age , tlfNo , activeMember, nextPayment );
}

private String getNameTrimmed(){
if(name.length()>30) {
return name.substring(0,27)+"...";
}
return name;
}

这样 id 将有 10 个字符(如果你有更长的 id,它仍然会破坏格式)该名称将有 30 个字符,因此您需要添加一个方法来为您提供 30 个字符的名称

关于java - 如何使用 toString 方法轻松整齐地打印多个对象,这些对象也已对齐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56019062/

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