簡體   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