在日常开发中,无意间发现一个现象,就是idea对不同的关键字会有不同的颜色标记。
比如系统的关键字是橙色,自己定义的类名及变量名都是白色等等。
这些其实并没有什么特别需要注意的,毕竟也是idea为了美化编译页面,便于开发者区分不同的变量名。
但是最近我发现有一些自定义的变量名,有时候是白色,有时候变成了粉色还加上了下划线。
起初也不以为然,今天突然想搞明白它,毕竟想想也应该不会特别难。
于是去查了idea的官网:https://www.jetbrains.com/idea/
现象如下:
最后搞明白了,结论如下:
当变量名为白色时,代表这个变量是用户自定义的。
但是为什么有时候会变粉色呢?
这其实代表
这个变量被重新分配了地址
比如上面的例子中,request刚被传进来时,是自定义的变量名,所以是白色的。
而到了异步处理中,request其实已经不是“传进来的request”了,而是另一个完全一样的request。也就是深拷贝了。
异步代码块中的request改变属性,并不会影响代码块外面的request。