2011-04-23 12 views
11

भाषा जावा है। क्या मतलब है में ...

static String padright (String str, int num) { 
    return String.format("%1$#" + num + "str", str); 
} 

जावा एपीआई में, String.format() इस तरह से इस्तेमाल किया जाता है:

public static String format(String format, Object... args) 

तो मुझे लगता है एक फॉर्मेट स्पेसिफायर है।

%[flags][width][.precision][argsize]typechar टेम्पलेट है।

  • 1 एक ध्वज है?
  • $ चौड़ाई है?
  • # परिशुद्धता है?
  • संख्या तर्क है?
  • "str" ​​टाइपचर है?

क्या यह सही है?

उत्तर

24

टेम्पलेट:

%[argument_index$][flags][width][.precision]conversion 

वैकल्पिक argument_index एक दशमलव पूर्णांक तर्क सूची में बहस के स्थिति का संकेत देती है। पहला तर्क, द्वारा "1 $", द्वारा "2 $" दूसरी संदर्भित है आदि

वैकल्पिक झंडे उत्पादन प्रारूप को संशोधित कि पात्रों में से एक सेट है। वैध झंडे का सेट रूपांतरण पर पर निर्भर करता है।

वैकल्पिक चौड़ाई एक दशमलव पूर्णांक है जो को आउटपुट पर लिखे जाने वाले अक्षरों की संख्या दर्शाता है।

वैकल्पिक परिशुद्धता गैर-ऋणात्मक दशमलव पूर्णांक आमतौर पर वर्णों की संख्या को प्रतिबंधित करने के लिए उपयोग किया जाता है। विशिष्ट व्यवहार रूपांतरण पर निर्भर करता है।

आवश्यक रूपांतरण वर्ण है जो दर्शाता है कि तर्क को स्वरूपित किया जाना चाहिए। दिए गए तर्क के लिए वैध रूपांतरणों का सेट तर्क के डेटा प्रकार पर निर्भर करता है।

%1$ पहले प्रतिस्थापन को संदर्भित करता है। इस मामले में स्ट्रिंग str# ध्वज है जो कहता है कि परिणाम रूपांतरण-निर्भर वैकल्पिक रूप का उपयोग करना चाहिए।

http://download.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html