标签:hash 修改 lam 变量 内部类 除了 处理 http 行操作
String s = "123"; System.out.println(System.identityHashCode(s)); s = "456"; System.out.println(System.identityHashCode(s));
============打印结果==============
2111991224
292938459
原来,匿名内部类也会被当作普通的类处理,只不过编译器生成它构造方法的时候,除了将外部类的引用传递了过来,还将基本数据类型的变量复制了一份过来,并把引用数据类型的变量引用也传递了过来。因此,基本数据类型的变量当然不能修改了,不然就会跟外部的变量产生不一致,这样的话变量的传递也就变得毫无意义了。
解决: 声明一个对象,对该对象的属性进行操作.
标签:hash 修改 lam 变量 内部类 除了 处理 http 行操作
原文地址:https://www.cnblogs.com/huoyufei/p/12810659.html