1

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

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

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

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

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

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

如果有请建议我。

感谢您宝贵的时间。

4

6 回答 6

2

最佳实践之一是使用 Apache Commons Lang:

String transactionID = StringUtils.join(transactionReferenceInfoList , "|");

或者你可以在循环中放一个 if 子句。

于 2013-09-23T07:48:03.937 回答
1

我会使用来自 Apache Commons 的 StringUtils.join

StringUtils.join(transactionReferenceInfoList,'|');
于 2013-09-23T07:48:58.517 回答
1

对于第一次迭代检查是否transactionID为空。

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

        for (String transactionRefNumber : transactionReferenceInfoList) {
            if(transactionID==null)
                  transactionID=transactionRefNumber;
            transactionID = transactionID + "|"+transactionRefNumber;
        }
于 2013-09-23T07:52:05.233 回答
1

也许是奇怪的答案,但要进行不同的更改循环:

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

        for (String transactionRefNumber : transactionReferenceInfoList) {

           transactionID+= transactionRefNumber+"|";

        }

如果你想删除最后一个“|”

如果我不明白你的回答,我希望向我道歉。

于 2013-09-23T07:56:22.527 回答
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"
于 2013-09-23T07:57:06.313 回答
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++;
        }

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

于 2013-09-23T07:57:10.550 回答