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