我正在尝试重新定义方法 toString(),该方法必须返回一个字符串,以打印名为 Card 且类型为 Card 的数组列表。因为 toString() 必须返回一个字符串,所以我无法使用循环来一一打印出每个元素,但我想以列表格式打印数组列表。基本上,有谁知道如何使 toString() 将数组列表卡作为字符串返回而不使用循环?
卡片数组列表定义
ArrayList <Card> cards = new ArrayList<Card>();
卡片类创建者
Card card1 = new Card(String suit, String rank, int value);
toString方法
public String deckToString(){
return cards;
}
应该打印什么
[suit, rank, value]
[suit, rank, value]
[suit, rank, value]
[suit, rank, value]
etc.
当前打印的内容
[suit, rank, value] [suit, rank, value] etc.
最佳答案
如果我理解正确的话, 你希望每个值都在自己的行上。 换句话说,通过换行符而不是逗号来连接值。
public String deckToString() {
return String.join("\n", cards.stream().map(Card::toString).collect(Collectors.toList()));
}
关于java - 在java中以列表格式打印数组列表,不带循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42752533/