我有一些值,我必须将它们作为管道|
分开,我这样做了:
List<String> transactionReferenceInfoList = paymentInfoDao.getTransactionRefNumberToVerify("0");
for (String transactionRefNumber : transactionReferenceInfoList) {
transactionID = transactionID + "|"+transactionRefNumber;
}
这给了我想要的东西,如下所示:
|6503939|2298597|4786967|2855035|8999941|7331957|1829429|7148599
但它在我想要的值的开头有|
。如何避免这种情况,还有其他最佳方法吗?
如果有,请建议我。
谢谢你宝贵的时间。答案 0 :(得分:2)
最佳做法之一是使用Apache Commons Lang:
String transactionID = StringUtils.join(transactionReferenceInfoList , "|");
或者您可以在循环中放置一个if子句。
答案 1 :(得分:1)
我会使用Apache Commons的StringUtils.join
StringUtils.join(transactionReferenceInfoList,'|');
答案 2 :(得分:1)
首次迭代检查transactionID
是否为空。
List<String> transactionReferenceInfoList = paymentInfoDao.getTransactionRefNumberToVerify("0");
for (String transactionRefNumber : transactionReferenceInfoList) {
if(transactionID==null)
transactionID=transactionRefNumber;
transactionID = transactionID + "|"+transactionRefNumber;
}
答案 3 :(得分:1)
可能是一个奇怪的答案,但是为了做出不同的改变循环:
List<String> transactionReferenceInfoList = paymentInfoDao.getTransactionRefNumberToVerify("0");
for (String transactionRefNumber : transactionReferenceInfoList) {
transactionID+= transactionRefNumber+"|";
}
如果你想删除最后一个“|”
如果我不理解你的回答,我希望能为我道歉。
答案 4 :(得分:1)
如果您确定每次|
都在那里,
在没有任何Utils
String
课程的情况下,在subString
方法的帮助下完成这项工作
resultString = resultString.substring(1,resultString.length());
例如:
String resultString = "test";
resultString = resultString.substring(1,resultString.length());
System.out.println(resultString); //gives "est"
答案 5 :(得分:1)
List<String> transactionReferenceInfoList = paymentInfoDao.getTransactionRefNumberToVerify("0");
int i = 0;
for (String transactionRefNumber : transactionReferenceInfoList) {
if(i==0) {
transactionID = transactionID + transactionRefNumber;
} else {
transactionID = transactionID + "|"+transactionRefNumber;
}
i++;
}
希望这能解决你的问题...