1.String 是个常量类,这个大家都知道但在应用时还是容易出错
给个例子:有代码有真像
public class Study{
public static StringBuffer f(StringBuffer str)
{
str = str.append("456");
return str;
}
public static String ff(String str)
{
str = "hello";
return str;
}
public static String fff(String str)
{
str = "123";
return str;
}
public static void main(String[] args)
{
StringBuffer str = new StringBuffer("123");
//注意了哦此处地址相同
if(f(str) == str) //比较地址
{
System.out.println("等于");
}
System.out.println(str);
String str1 = "123";
//注意了哦此处地址不同, str1 是个常用,外部的str1内容是123, 而内部的str是hello
if( !(ff(str1) == str1))
{
System.out.println("不等于");
}
String str2 = "123";
if(fff(str2) == str2)
{
System.out.println("等于");
}
}
}
打印结果:
等于
123456
不等于
等于