栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java中字符串修改的修改

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java中字符串修改的修改

例1:

public static void main(String[] args){	
	String str="hello";
	changeStr(str);
	System.out.print(str);  //打印的结果是hello
}
static void changeStr(String str){
	str="hi";
}
1.字符串是char类型的数组 char[]
2.修改时传递的是hello的地址
3.字符串比较特殊,在常量池中的str,修改的时候,不是直接修改了地址对应的char数组,而是重新建了一个char[],地址赋值给str
4,所以修改函数执行之后,外面的str没有发送变化

例2:
java字符串的修改,参考链接

public static void main(String[] args) {
  String x = new String("ab");
  change(x);
  System.out.println(x);
}
public static void change(String x) {
    x = "cd";
}

解决办法

如果我们真的需要去改变对象的值,首先,对象应该是可变的,比如StringBuilder。其次,我们需要确保没有创建新对象并将其分配给参数变量,因为Java只是按值传递。

public static void main(String[] args) {
  StringBuilder x = new StringBuilder("ab");
  change(x);
  System.out.println(x);
}
public static void change(StringBuilder x) {
  x.delete(0, 2).append("cd");
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/708670.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号