JAVA中stringbuffer怎么改变string中的内容
Stringstr=args[0]+"&"+args[1]+"&"+args[2];file=newFileWriter("E:\\myfile.doc");file.w...
String str = args[0]+" &"+args[1]+" &"+args[2]; file = new FileWriter("E:\\myfile.doc"); file.write(str); for(int i = 0; i<3; i++){ if(args[i].equals("abc")){ args[i]="ABC";//怎么利用StringBuffer改变 }
(
1)从命令行后输入任意个参数,把参数用&符号连接成新的字符串输出到控制台,如果参数中有“abc”,则在新串中用“ABC”代替“abc”,如果没有,则不处理。
参考StringBuffer类里面的equals、append等方法 展开
(
1)从命令行后输入任意个参数,把参数用&符号连接成新的字符串输出到控制台,如果参数中有“abc”,则在新串中用“ABC”代替“abc”,如果没有,则不处理。
参考StringBuffer类里面的equals、append等方法 展开
2个回答
推荐于2016-10-18
展开全部
String类的实例是个不可改变数据的实例,也就是说,一个实例一旦建立就不能修改,
例如:String str1="aaa";
那么实例"aaa"的值不能改变,
代码:str1=str1+"bbb";
虽然你可以得到str1= "aaabbb",实际上jvm内部有三个String实例,分别是:aaa,bbb,aaabbb;
也就是说:jvm生成了两个新的字符串bbb和aaabbb,str1仅仅是改变了引用的对象而已,不是修改了它们之间的任何一个字符串的值。
StringBuffer则是可以修改的版本,也就说实例只有一个,jvm修改的是实例中保存的字符数据。
新的java版本有个新的StringBuilder版本,建议你使用这个,不要使用StringBuffer
例如:String str1="aaa";
那么实例"aaa"的值不能改变,
代码:str1=str1+"bbb";
虽然你可以得到str1= "aaabbb",实际上jvm内部有三个String实例,分别是:aaa,bbb,aaabbb;
也就是说:jvm生成了两个新的字符串bbb和aaabbb,str1仅仅是改变了引用的对象而已,不是修改了它们之间的任何一个字符串的值。
StringBuffer则是可以修改的版本,也就说实例只有一个,jvm修改的是实例中保存的字符数据。
新的java版本有个新的StringBuilder版本,建议你使用这个,不要使用StringBuffer
追问
如果这题要用stringbuffer要怎么做
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询