String s = String.format("%04d", i);
此代码代表要字符串的数字中的 4 位数字,因此.. 如果您使用 %04d 我将在前面得到两个试用零
虽然 int i 是一个原始的并且它的期望对象作为它的参数,
它的 JVM 将在内部负责转换为对象数据类型
根据java实现看到这个..
public static String format(String format, Object ... args) {
return new Formatter().format(format, args).toString();
}
动态附加零的示例代码...
导入 java.text.DecimalFormat;公共类 ArrayTest {
public static void main(String[] args) {
int i = 34; //could be any value but you get the idea
int zeroCount = 2;
String s = String.format("%d", i);
int length = s.length()+zeroCount;
System.out.println(String.format("%0"+length+"d", i));
// second way u can achieve
DecimalFormat decimalFormat = new DecimalFormat();
decimalFormat.setMinimumIntegerDigits(length);
System.err.println(decimalFormat.format(i));
}
}
谈到 System.format 的论点,它可能需要无限的不。参数作为它的可变参数对象作为第二个参数
检查这个网址
http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#format%28java.lang.String,%20java.lang.Object...%29