我有一个字符串,该字符串是较小形式字符串的串联refNum orderNum,例如,包含参考号和订单上项目数量的字符串BRICK1 10。较大的串联字符串是将这些较小的字符串拼凑在一起并使用井号将它们分开的数量,例如#BRICK1 10#BRICK2 20#BRICK3 30。
当我使用String.split()时,我希望结果是一个将较大的字符串划分为较小的元素的数组,因此BRICK1 10,BRICK2 20和BRICK3 30,但是当我实际上尝试使用“#”作为分隔符来拆分字符串时,我得到了数组开头的第四个字符串为空。
我不确定为什么会发生这种情况,如何预防呢?
我的长字符串是使用这种方法产生的
public String getAllOrders()
{
String orderDetails = "";
for(BrickOrder o : orderList)
{
String order = "#" + o.getReferenceNumber() + " " + o.getNumberOfBricks();
System.out.println("ORDER: " + order);
orderDetails = orderDetails.concat(order);
}
return orderDetails;
}
虽然在测试类中使用了split方法,但在这里。
@Test
public void testFullOrderListReturnedCorrectly()
{
sys.createOrder(10);
sys.createOrder(100);
sys.createOrder(1000); //Create three orders
String orderList = sys.getOrders(); //Return full order list
System.out.println(orderList);
String[] orders = orderList.split("#");
System.out.println(orders.length);
}
慕桂英4014372
汪汪一只猫
忽然笑
相关分类