Java如何修改字符串某⼀个位置的字符
Java 如何修改字符串某⼀个位置的字符
⾸先,String是字符串常量,常量对象⼀旦创建后是不可更改的。以下⾯代码为例:
String str = "123456";
str += "78";
System.out.println(str);
虽然最后会输出"12345678",但实际处理过程是这样的:JVM在str+="78"这⼀⾏执⾏时会创建⼀个新的对象str,并且把"123456" + "78"赋值给这个新对象,原来的str被JVM的垃圾回收机制销毁掉了,所以,str实际上没有被更改,现在的str并不是原来的str,⽽是新创建的⼀个对象。所以,String类型常量在Java中要进⾏操作的速度是⽐较慢的,需要不断的创建新对象和销毁旧对象。
⽽且String没有提供替换某个位置字符的函数,仅仅提供了替换某些字符为新字符的函数。即replace和replaceAll。⼆者对应参数如下:
String java.place(CharSequence target, CharSequence replacement)
String java.placeAll(String regex, String replacement)
如何修改某个位置的字符
可以利⽤StringBuilder或者StringBuffer中的replace⽅法
StringBuilder和StringBuffer为字符串变量,对字符串处理的速度要⽐String类型快。
String str = "123456";
StringBuilder sb = new StringBuilder(str);
java replace方法System.out.String());
最后输出"T23456"
sb会替换start(included)到end(excluded)的字符串为repalcement
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论