日期:2014-05-20  浏览次数:20581 次

字符串中添加空格的小问题
问题是这样的:

有四个参数var1,var2,var3,var4.都是String类型。

我想得到这四个参数连接体。连接形式是,如果参数为空,则用四个空格代替。

比如传入四个参数为: 'aaaa ',null, 'cccc ',null

则想要得到的字符串为: 'aaaa         cccc         '.

我用StringBuffer来相加,可是总是自动把空格给去掉了。

请高手指教,谢谢。

------解决方案--------------------
String[] s = new String[]{ "aa ", null, "BBBB ", null};
StringBuilder sb = new StringBuilder();
String temp;
for(String x:s) {
temp = x==null ? " " : x;
sb.append(temp);
}
System.out.println(sb.toString());
------解决方案--------------------
for(String x:s) {
temp = x==null ? " " : x;
sb.append(temp);
}

foreach 循环等价于

for(int i=0; i <s.length; i++) {
temp = s[i]==null ? " " : s[i];
sb.append(temp);
}

foreach、StringBuilder 都需要 JDK 1.5 以上版本支持的。如果你装的 JDK 是 1.5 以上的版本的话,你需要在 Eclipse 设置一下:Window --> Preferences... --> Java --> Complier 将“Complier complance level”改到 5.0 即可。如果你的 JDK 是 1.5 以下版本的,那 foreach、StringBuilder 就不能使用,foreach 用 for 代替,StringBuilder 用 StringBuffer 代替。