按我的理解,形参和实参是两个东西,也就是main中的str和method中的str存在于不同空间。
- public static void main(String[] args)throws Exception
- {
- String str="aaa";
- method(str);
- str=str+"ddd";
- }
- private static void method(String str) throws Exception
- {
- System.out.println(str.hashCode());
- str=str+"ddd";//当执行str+"ddd"这个动作时,str+"ddd"已经是新的对象,在内存分配了新的地址。
- //把地址赋给了形参str。
- //至始至终main中的str根本就没有改变,他一直在指向"aaa"这个字符串对象。
复制代码
|