У меня есть картина, как:Как удалить неиспользуемые позиционные параметры формата Струнного
String pattern = "{0},{1},{2},{3},{4},{5},{6},{7}";
У меня есть массив значений, чтобы получить Заполняется в этой схеме:
Object[] values = new String[8];
Этот массив значений является динамичным, иногда он заполняется полными 8 выделенными слотами и несколько раз меньше, чем тот, но не более, чем выделенный размер.
Теперь, когда он меньше, чем 8 слотов (например), и когда я отформатировать его с помощью
MessageFormat messageFormat = new MessageFormat(pattern);
header = new StringBuffer();
messageFormat.format(values, header, null);
их остается тем, положение которых заменителями не найдены:
например:
String pattern = "{0},{1},{2},{3},{4}";
Object[] values = {"abc", "cde", "gef"};
MessageFormat messageFormat = new MessageFormat(pattern);
StringBuffer header = new StringBuffer();
System.out.println(messageFormat.format(values, header, null));
abc,cde,gef,{3},{4}
Но то, что я хочу, это те позиции также должны быть перемещены: Как конечный результат должен быть таким:
abc, cde, gef
Вы можете использовать 'ArrayList' вместо простого массива. –
Возможно, ваш реальный формат более сложный. Но в этом конкретном случае вы можете просто присоединиться к строкам: http://stackoverflow.com/questions/187676/java-equivalents-of-c-sharp-string-format-and-string-join –
Я думаю, что это не будет сделайте любую разницу, так как все еще в ArrayList мои значения могут быть меньше параметров позиции, представленных в шаблоне .... @ Andre – BigBang