Я изучаю Java-ядро, и я наткнулся на этот код, который помог мне, и я знаю результат этого метода, но не могу понять, что здесь происходит: я запускаю метод с параметрами (12345,8) и какВ результате я получаю '12345___' (с пробелами, общая длина строки 8 символов)
public static String padRight(String input, int length) {
if (input.length() < length) {
return String.format("%1$-" + length + "s", input); // %1$ refers to the first substitution.
} else {
return input.substring(0, length);
}
}
% 1 $ здесь относится к первому аргументу после запятой, который является 'input'
- после $ - что это?Результат будет выровнен по левому краю. Значения выровнены по левой границе?
- + длина + "s" - эти операции я не могу понять: + - Результат всегда будет включать знак ..какой знак?длина?
и что здесь за "s"?
Пожалуйста, объясните, если кто-то понимает это полностью.
Источники, которые я использовал: https://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html https://dzone.com/articles/java-string-format-examples