1
final List<String> list = new ArrayList<String>(); List<String> list1 = new ArrayList<String>(); List<String> list2 = new ArrayList<String>(); list1 = list2; list = list1;//这行是不能通过编译的 |
list定义为final是指该引用是final啦,但是list里面的值不是final的,所以可以修改。
2.
final 类型的map活arrList中 put 或添加数据并不是修改原有变量的内存指向地址。只是给这个地址中加了更多的值而已。 但是
final String s ="123" s = " 456"; 这等于指向了两个内存地址。 final的意思是不可变最终的 是指他内存中所指向的内存地址是不可变是最终的
3
对List或map的add或put操作,没有修改引用。而对字符串的修改,是整个引用都要指向一个不同的字符串了。
3万+

被折叠的 条评论
为什么被折叠?



