繁体   English   中英

Java toString()隐藏信息

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM