String 对象是可变的-证明2

public class StringTest {

	public static void main(String[] args)throws Exception {
		//String s = "1";
		//String s2 = "5";
		//String s2 = "2";
		//String s12 = "12";
		//String s22=s+s2;
		String s2 = "1";
		System.out.println("没改前的值=="+s2);
		System.out.println(s2=="1");
		c(s2);
		System.out.println("改了后的值=="+s2);
		System.out.println(s2=="1");
		
		//System.out.println(s12.equals(s22));
		//System.out.println(s.hashCode());
		//System.out.println(s2.hashCode());
		//System.out.println(s.equals(s2));
		//System.out.println(s2==s);
		
	}
	public static void c(String s)throws Exception{
		Field f = s.getClass().getDeclaredField("value");
		f.setAccessible(true);
		Object o = f.get(s);
		char[] c = (char[]) o;
		//System.out.println(o);
		f.set(s, "5".toCharArray());
		Object o2 = f.get(s);
		//System.out.println(o2);
	}
}
 

你可能感兴趣的:(String)