Функція написання подібна до String.format

Чи можна написати подібну функцію, як String.format() , де першим аргументом є рядок з заповнювачами та інші аргументи можуть бути різних типів? як ця функція format організована на Java?

1
String.format() використовує Formatter внутрішньо.
додано Автор fge, джерело
Ви запитуєте, "як форматер обробляє заповнювачі" або "як ми можемо передавати кілька об'єктів"? Або щось зовсім інше?
додано Автор parsifal, джерело

7 Відповіді

Так, просто зробіть щось подібне

public static String myMethod(String str, Object... args) {
    ...
}

тобто використовуємо varargs .


З джерела класу String :

2780 public static String format(String format, Object ... args) {
2781     return new Formatter().format(format, args).toString();
2782 }
3
додано
public static void someFunction(String string, Object... objects) { ... }
1
додано

Це вар аргументи, ви можете передавати багато параметрів функції, функція quando отримує це перетворення його в масив. Obs: останнім параметром є var args. Для реалізації String.format() ви можете побачити файли джерел у вашому sdk: java/sdk .../src.zip

1
додано
public static String format(String arg1, Object... args)

Зверніть увагу на точки у наведеному вище коді. Це позначить останній аргумент методу як аргумент змінної. Ви можете передати змінне значення параметрів за допомогою varargs. vararg повинен бути останнім аргументом у методі.

0
додано

Звичайно, можна: String.format сам по собі не є магічним методом, тому я пропоную вам поглянути на його вихідний код. Основна функція мови називається varargs .

0
додано
public static String format(String str, Object... args)
0
додано

Apart from Object... args resulting in an array of arguments, you might want to look into overloading: http://docs.oracle.com/javase/tutorial/java/javaOO/methods.html

0
додано
ІТ КПІ - Java
ІТ КПІ - Java
436 учасників