.Net转Java.08.format

%[index$][标识][最小宽度]转换方式

[index$]可以用于表示对第index个参数进行格式化,

 // Java代码
String s1=String.format("%3$s,%2$s,%1$s","a","b","c"); // c,b,a

与C#的索引相比,区别在于C#的索引从0开始,并且是不能省略的

Java的索引是从1开始,并且可以省略

// Java代码
String s1=String.format("%s,%s,%s","a","b","c"); // a,b,c 索引可以省略
System.out.println(s1);
String s2=String.format("%3$s,%2$s,%1$s","a","b","c"); // c,b,a 索引从1开始
System.out.println(s2);
// C#
String result = String.Format("{2},{1},{0}","a","b","c"); // c,b,a 注意索引不能省略,并且从0开始
Console.WriteLine(result);

%s转换方式

其实%s可以转换各种类型,其实就是各种类型的 toString()

// Java代码
String s=String.format("%s,%s,%s,%s,%s","a",1,9.2, LocalDateTime.now(),new Date()); // a,1,9.2,2018-02-03T22:36:01.499,Sat Feb 03 22:36:01 CST 2018
System.out.println(s);

与C#对应的,默认转换方式一样

// C#
String result = String.Format("{0},{1},{2},{3}", "a", 1, 9.2, DateTime.Now); // a,1,9.2,2018/2/3 22:39:52
Console.WriteLine(result);
原文地址:https://www.cnblogs.com/wormday/p/8367674.html