在Java中格式化打印对的输出?
我试图对照单元测试检查我的对,但函数的输出返回的对值以“=”而不是“,”分隔。我尝试了类型转换和其他解决方法,但不知道是什么导致了这种情况 函数返回类型:在Java中格式化打印对的输出?,java,collections,Java,Collections,我试图对照单元测试检查我的对,但函数的输出返回的对值以“=”而不是“,”分隔。我尝试了类型转换和其他解决方法,但不知道是什么导致了这种情况 函数返回类型: Pair<ArrayList<Pair<Entity, Integer>>, Integer> ArrayList<Pair<Entity, Integer>> pairMatches = new ArrayList<Pair<Entity, Integer>&g
Pair<ArrayList<Pair<Entity, Integer>>, Integer>
ArrayList<Pair<Entity, Integer>> pairMatches = new ArrayList<Pair<Entity, Integer>>();
pairMatches.add(new Pair<>(entities.get(i-1), ped)); // entities is a class object
谢谢大家! 问题在于Pair类中,因为您需要重写该类中的
toString()
函数
例如,此代码:
Pair<Integer, Integer> p = new Pair(1,2);
System.out.println(p);
对p=新对(1,2);
系统输出println(p);
将导致输出1=2
您可以使用javafx.util.Pair
将其扩展到Pair
类中,只需使用javafx.util.Pair
覆盖toString()
即可,也可以从头开始创建自己的Pair类并覆盖toString()
有关创建自己的元组的示例代码,请参见Hint;检查您的toString()
method@YCF_L我重写了实体类的toString及其工作状态,对的标准输出是(value,value),我需要重写toString()方法吗?请分享你的方法请回答你的问题并包括你的method@YCF_L对不起,done@D谢谢你,我终于按照你说的做了,谢谢你的建议。@PeteRene除非我遗漏了什么,否则我不是DM,但请确保你接受通过屏幕上绿色勾号帮助你的答案left@PeteRene学习
@Override
public String toString() {
return ("Entity(name=\"" + this.name + "\", score=" + this.score
+ ", description=\"" + this.description + "\")");
}
Pair<Integer, Integer> p = new Pair(1,2);
System.out.println(p);