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
қосылды

Бұл var args, көптеген параметрлерді тапсыруға болады, функцияны алу функциясы оны массивке түрлендіреді. Obs: var args - соңғы параметр. String.format() бағдарламасын іске асыру үшін сіздің SDK файлыңыздағы файлдарды көруге болады: java/sdk .../src.zip

1
қосылды
public static String format(String arg1, Object... args)

Жоғарыдағы кодта ... нүктелеріне назар аударыңыз. Айнымалы дәлел ретінде әдісінің соңғы дәлелін белгілейді. Параметрлердің өзгермелі мөлшерін вараргтарды пайдалана аласыз. әдісіндегі варарг соңғы аргумент болуы керек.

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
қосылды