我有一個常規for
循環,幫助我通過利用普通for
循環提供的索引定位來追加字符。重構一個常規for循環到一個增強for循環
我想重構循環並將其變爲for each
循環,但缺點是索引定位。我無法找到一個方法來表明我想要追加我的字符。在這種情況下甚至可以使用for each
循環?
來自:
for (int i = 0; i < itinerary.size(); i++) {
sb.append(itinerary.get(i).toUpperCase());
if (i < itinerary.size() -1) {
sb.append(" to ");
}
}
到
for (String itineray : itinerary){
sb.append(itineray.toUpperCase());
if (//size of the array - 1){
sb.append(" to ");
}
}
你是否需要一個關於for-loops的問題的實際答案,或者你只是想知道更好的編寫代碼的方法,即使用[StringJoiner](https://docs.oracle)。 COM/JavaSE的/ 8 /文檔/ API/JAVA/util的/ StringJoiner.html)? –
StringJoiner它是一個不同的類,即時通訊使用StringBuilder。 – mrKapplan
我知道你在你的問題中使用了'StringBuilder',但是你可以直接寫'iternary.stream()。collect(Collectors.joining(「to」))'並完全避免for循環。 –