[英]Java toString() Hiding information
如何让我的toString方法只返回String的某些部分,例如我有一个带有构造函数的名称和姓氏的变量。 我想使用toString方法,以便它只返回每个名称的第一个字母,其中填充其余的占位符,例如' - '
enter code here
private String foreame = null;
private String surname = null;
public FullName(String forename, String surname)
{
this.forename = forename;
this.surname = surname;
}
所以我可以得到像詹姆斯罗伊这样的名字'J ---- R--'的输出
在类中,重写toString方法:
@Override
public String toString() {
return forename.replaceAll("\\B\\w", "-")) + " " + surname.replaceAll("\\B\\w", "-"));
}
或者,更简洁地说:
@Override
public String toString() {
return (forename + " " + surname).replaceAll("\\B\\w", "-");
}
replaceAll将使用标记“ - ”替换字符串中除第一个字符外的所有字符,从而实现所需的结果。
这是与Regex合作的一个非常有用的链接。 请注意,因为java使用'\\'作为转义令牌,所以您需要使用两个,如图所示。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.