Нет провайдера для роутера?

Вы можете уменьшить накладные расходы для каждого вызова, сохраняя данные заполнения, а не перестраивая его каждый раз:

public class RightPadder {

    private int length;
    private String padding;

    public RightPadder(int length, String pad) {
        this.length = length;
        StringBuilder sb = new StringBuilder(pad);
        while (sb.length() < length) {
            sb.append(sb);
        }
        padding = sb.toString();
   }

    public String pad(String s) {
        return (s.length() < length ? s + padding : s).substring(0, length);
    }

}

. В качестве альтернативы вы можете сделать длину результата параметром для pad(...) метод. В этом случае отредактируйте скрытое дополнение в этом методе, а не в конструкторе.

(Подсказка: для дополнительного кредита сделайте его потокобезопасным!;) -

42
задан None 16 March 2017 в 09:49
поделиться