final :顾名思义是最终的,该变量只能被初始化一次,即被赋一次值,之后不能再被更改
一个已初始化的变量不能再指向另外的值/对象
赋值 :指的是该变量的指向的地址是不会变的,如果是对象类型不能再被实例化,如果是简单的数据类型,值不能再被改变
final Map map =new HashMap(); 可以往map里put数据
final List list =new ArrayList(); 可以往list里add数据
但是 final String s =“123”; 然后s就不可修改数据了
解析:对List或map的add或put操作,没有修改引用。而对字符串的修改,是整个引用都要指向一个不同的字符串了,即对象的引用即地址是不能变的,即始终指向这个对象,但是对象里面的值是可以任意更改的