【发布时间】:2017-05-06 03:30:53
【问题描述】:
如果我有这样的事情:
public class Set {
private ArrayList<String> testList;
private String testString;
public Set() {
}
public void add(String testString) {
testList.add(testString);
}
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(testString).append(System.getProperty("line.separator"));
return sb.toString();
}
}
如何在 main 方法中对此进行测试? 这是我迄今为止尝试过的......
Set test = new Set();
test.add("blah");
test.add("blahhh");
System.out.println(blah.toString());
我这样做正确吗?在高中上我的第一门 CS 课程,我们应该创建一个实现 toString() 方法的类。
【问题讨论】:
-
System.out.println(blah.toString());blah是什么?如果你没有声明blah,这会给你编译错误。像这样测试它:System.out.println(test); -
您的
toString将输出null。你永远不会设置testString字段。 -
你也可以使用
System.lineSeparator()获取行分隔符。 -
旁注:永远不要使用 Java 中已经存在的名称来命名您的类型。这会导致很多问题,例如:stackoverflow.com/questions/17462795/…。
-
您需要在您的
add方法中使用this.testString = testString;设置testString实例变量。
标签: java