【发布时间】:2019-06-22 14:26:06
【问题描述】:
这是反转字符串保留空间位置的程序。在这个问题中,无论是否使用带有sb 的toString() 函数,输出都是正确的。有一件事我不明白sb 是一个StringBuffer 对象,那么我们如何在最后一个打印语句中使用该对象,因为该对象需要转换为字符串格式。
这是jdk 1.8.0的代码
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
String st="";
st=sc.nextLine();
StringBuffer sb=new StringBuffer(st.replace(" ",""));
sb=sb.reverse();
for(int i=0;i<st.length();i++)
{
if(st.charAt(i)==' ')
{
sb.insert(i,' ');
}
}
System.out.println(sb);
}
【问题讨论】:
-
注意:
StringBuffer有它所有的方法synchronized。这现在被认为是不必要的,并且是关于 Java 对象应该如何工作的历史错误假设的一部分。StringBuffer在 2004 年被StringBuilder取代,它是非同步的,但其他方面相同,因此更轻量级。
标签: java string function tostring