文章目录
- 前言
- 小问题
前言
String类型
一、小问题
/**
* @author wzk
*/
public class Test {
public static void main(String[] args) {
String str="hello";
changeStr(str);
System.out.println(str);
System.out.println(str.hashCode());
}
public static void changeStr(String str){
str="hi";
System.out.println(str);
System.out.println(str.hashCode());
}
}
为什么传入引用型变量,值不会改变?
这样改变不了String类型变量str的值,通过调用hashcode()函数可以发现,changeStr()函数内的str="hi"语句实际上是又创建了一个新的String类型变量,命名也为str;
通过阅读String源码,可以得知,String类里面的值用final关键字修饰,不能改变;所以要想对字符串进行修改的话,需要用到StringBuffer类。
wink!