本文目录一览:
- 1、JAVA中有哪几种格式化字符串?
- 2、java中字符串为什么要格式化??格式化是什么意思?
- 3、Java字符串反向格式化如何实现; 我们现在都是通过有占位符的格式化字符串, 填入占位的值, 得到结果?
JAVA中有哪几种格式化字符串?
public class test1 { //新建类
public static void main(String[] args) { //主方法
String str = String.format("%d",400/2); //将结果以十进制显示
String str2 = String.format("%b",3 5); //将结果以布尔形式显示
String str3 = String.format("%x",200); //将结果以10进制格式显示
System.out.println("400的一半是:"+str); //输出格式化字符串
System.out.println("35正确吗:"+str2);
System.out.println("200的16进制数是:"+str3);
}
}
为什么会报错:
类型 String 中的方法 format(String, Object[])对于参数(String, int)不适用
类型 String 中的方法 format(String, Object[])对于参数(String, boolean)不适用
类型 String 中的方法 format(String, Object[])对于参数(String, int)不适用
java中字符串为什么要格式化??格式化是什么意思?
格式化是根据业务需要进行的。像时间字符串或者特殊意思的ID,对他们进行格式化后能更方便的进行比较、转换或者理解。而格式化就是根据特定的格式进行处理,将原来的字符串转为给定格式的字符串。例子:时间字符串“20120224”转为“2012-02-24”
Java字符串反向格式化如何实现; 我们现在都是通过有占位符的格式化字符串, 填入占位的值, 得到结果?
代码为:
public class Main {
public static void main(String[] args) {
String format = "select %s from %s limit %s";
String param = "select * from user limit 10";
//根据%s分割format字符串
String[] stArr = format.split("%s");
//使用集合存储结果集
ListString result = new ArrayList();
for (int i = 0; i stArr.length; i++) {
//根据分割内容裁剪param字符串
param = param.substring(stArr[i].length());
if (i stArr.length - 1) {
//计算下一条分割内容的位置
int index = param.indexOf(stArr[i + 1]);
//截取出结果放入结果集
result.add(param.substring(0, index));
//截取后的剩余部分重新赋值给param
param = param.substring(index);
} else {
//如果param以%s结尾,则将param剩余部分做为最后一次结果
if (param.length() 0) {
result.add(param);
}
}
}
System.out.println(result);
}
}
运行结果: