if执行后为什么还会有#号?

if语句执行后为什么还会有#号?#号应该会被删除呀。为什么是在最后输出的时候才被删除?

img

你这里的str变量不就是用来临时遍历数组元素的吗,你使用remove是从数组中移除,str已经与被移除的数组元素绑定了,自然还是能输出#
40行改成System.out.println(c)你就明白了。

你输出的是str,又不是it

1.你输出的是str,不是it
2.str是个string类型,属于特殊的引用类型,抛开后台类库里如何实现不管的话,你完全可以认为它就是个值类型,所以你在改变it时str并不会跟着改变