Спецификатор %s
Спецификатор %s применяется в методах форматирования
(printf, format, String.format)
для подстановки строкового представления значения.
В качестве аргумента можно передать любой объект -
он будет преобразован в строку с помощью метода toString.
Если передан null, будет выведена строка "null".
Дополнительно можно указать ширину поля и флаг выравнивания,
например %10s или %-10s.
Синтаксис
%[flags][width]s
Пример
Давайте подставим строку в шаблон с помощью %s:
public class Main
{
public static void main(String[] args)
{
String name = "abcde";
System.out.println(String.format("Hello, %s!", name));
}
}
Результат выполнения кода:
"Hello, abcde!"
Пример
Давайте подставим несколько значений разного типа:
public class Main
{
public static void main(String[] args)
{
String str = "abcde";
int num = 12345;
double d = 3.14;
System.out.println(String.format("%s %s %s", str, num, d));
}
}
Результат выполнения кода:
"abcde 12345 3.14"
Пример
Давайте зададим ширину поля и выравнивание по левому краю:
public class Main
{
public static void main(String[] args)
{
System.out.println(String.format("[%10s]", "abc"));
System.out.println(String.format("[%-10s]", "abc"));
}
}
Результат выполнения кода:
"[ abc]"
"[abc ]"
Пример
Давайте подставим объект и значение null:
import java.util.List;
public class Main
{
public static void main(String[] args)
{
List<Integer> list = List.of(1, 2, 3);
System.out.println(String.format("list = %s", list));
System.out.println(String.format("value = %s", null));
}
}
Результат выполнения кода:
"list = [1, 2, 3]"
"value = null"