Java Tostring()隐藏信息



如何获得我的tostring方法仅返回字符串的某些部分,例如,我使用构造函数的名称和姓氏有变量。我想使用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", "-");
}

替换将用令牌" - "替换字符串中的第一个字符以外的所有字符,从而实现您所需的结果。

这是与Regex合作的非常有用的链接。请注意,由于Java使用" "作为逃生令牌,因此您需要使用两个。

最新更新