将管道添加到java中的值

时间:2013-09-23 07:43:12

标签: java for-loop concatenation pipe

我有一些值,我必须将它们作为管道|分开,我这样做了:

List<String> transactionReferenceInfoList = paymentInfoDao.getTransactionRefNumberToVerify("0");

        for (String transactionRefNumber : transactionReferenceInfoList) {
            transactionID = transactionID + "|"+transactionRefNumber;
        }

这给了我想要的东西,如下所示:

|6503939|2298597|4786967|2855035|8999941|7331957|1829429|7148599

但它在我想要的值的开头有|。如何避免这种情况,还有其他最佳方法吗?

如果有,请建议我。

谢谢你宝贵的时间。

6 个答案:

答案 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++;
        }

希望这能解决你的问题...