gpt4 book ai didi

java - 在单独的行上使用 toString() 方法返回 Java 中集合的元素

转载 作者:行者123 更新时间:2023-11-29 08:33:23 24 4
gpt4 key购买 nike

我正在使用 toString()返回 Set<String> 元素的方法在 Java 中,但每个元素都在单独的一行中。

代码示例:

import java.util.Set;

public class Animals{
Set<String> animals;
String newanimal;

public Anmimals (Set<String> animals){
this.animals = animals;
}

public setAnimals(String newanimal){
this.newanimal = newanimal;
animals.add(newanimal);
}

public String toString(){
/* this is where my problem is i want to return the set (below),
however i also need each animal to be on a new line */
return animal
}

}

我能找到的唯一有点用的东西,最后都建议不要使用 toString()而是将实际类与 System.out.println() 一起使用然而,要打印出信息,toString()是这个特定问题所必需的。

是否可以向该方法添加一个 for 循环并在我使用 \n 返回单独行的每个元素时遍历每个方法? ?欢迎所有建议,因为这个建议,即使可能,看起来真的很乱。

最佳答案

我会流式传输集合,将每个元素转换为字符串并使用行分隔符连接它们:

@Override
public String toString() {
return animals.stream()
.map(Object::toString)
.collect(Collectors.joining(System.lineSeparator()));
}

编辑:
编辑问题后,很明显问题是关于加入 Set<String> 的。 ,而不是任何旧的Set .在这种情况下,解决方案可以大大简化:

@Override
public String toString() {
return String.join(System.lineSeparator(), animals);
}

关于java - 在单独的行上使用 toString() 方法返回 Java 中集合的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45985723/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com