簡體   English   中英

數組toString的對象也具有toString方法

[英]Arrays toString with objects that also have a toString method

我在打印特殊數組時遇到問題:

我使用System.out.println(Arrays.toString());打印一個包含多個對象的數組System.out.println(Arrays.toString()); 但是現在數組中充滿了對象,這些對象具有char值,我想打印分配給該對象的每個char。 如何在代碼中做到這一點?

為了明確起見,讓數組像下面這樣具體:

Class[] objList = {new Class(1, 'X'), new Class(4, 'Y')};

我要在其中調用objList[0].toString()然后再調用objList[1].toString()方法的地方,得到的輸出類似於:

[X, Y]

我希望這個問題很清楚,如果有人可以幫助我,我將很高興,謝謝!

注意 :帶有toString()方法的上述類僅在該類中實現,並且被寫為System.out.print(destination); 我在這里嘗試了以下解釋: 在對象數組上使用toString ,但顯然沒有用。

public String toString() {
  System.out.print(Arrays.toString(objList.toString()));
  return null;
}

一個toString()方法本身不應該打印任何東西。 相反,它應該返回代表對象的字符串。 如果類的字符是通過getChar()方法獲得的,則可以按以下方式實現其toString()方法:

public String toString() {
    return String.valueOf(getChar());
}

這會將字符轉換為String並返回它。

如果這樣做,代碼

Class[] objList = new Class[] { new Class(1,'X'), new Class(2,'Y') };
System.out.println(Arrays.toString(objList));

應該輸出[X, Y]

(我建議將您的類Class重命名為其他名稱,因為它與Java的Class<T>類沖突。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM