我有一个构造函数,其字符串看起来像“Southbound - Metrotown”。
它所接受的字符串总是不同但格式相同:方向 - 位置。我使用split()方法将此字符串拆分为连字符(unicode 44)。
构造函数和返回方法如下所示
String[] splt;
String dirn;
String plat;
public Arrival(String platform) {
this.platform = platform;
splt = platform.split("-");
dirn = splt[0];
plat = splt[1];
}
public String getTravelDirn() {
return dirn.trim();
}
public String getPlatformName() {
return plat.trim();
}
我可以打印出结果很好但是当我用JUnit测试时,
@Before
public void setUp() {
arr = new Arrival(platform);
}
@Test
public void testArrivalGetPlatform() {
System.out.println(arr.getPlatformName());
assertTrue(arr.getPlatform().equals("Metrotown"));
结果打印出Metrotown,但assertTrue行失败。我该怎么做才能解决这个问题?谢谢你的时间。
答案 0 :(得分:1)
platform
参数值中没有破折号。
如果没有进行拆分匹配,则整个字符串将作为单元素数组的第一个元素返回。尝试访问索引0以外的任何元素都将导致该异常。