我有一个String和一个自定义对象的关联列表。列表中的每个自定义对象都包含 start 和 end 字符,用于String中的某些信息。我想以这样的方式处理String,即我跳过String中属于自定义对象List定义的边界内的字符。然后将重构翻译的字符串,使得由自定义对象列表定义的字符在新字符串中包括未翻译的字符。我之前订购了基于 start 字符的自定义对象列表,因此可以确信我可以遍历列表。
目前我做的是这样的。但我想知道是否有更好,更有效的方法来做到这一点?
private static String translateString(String input, List listOfStartEnds) {
int postition = 0;
String translated = "";
for (int i = 0; i < listOfStartEnds.size(); i++) {
String sub = input.substring(postition, listOfStartEnds.get(i).getStart());
// Calls an HTTP Post to translate a string and attempts to reconstruct
translated += TranslateHelper.translate(sub) + " " + input.statusText.substring(listOfStartEnds.get(i).getStart(), listOfStartEnds.get(i).getEnd()) + " ";
postition = listOfStartEnds.get(i).getEnd();
}
return translated;
}