String可不可以被修改

  相似的问题还有很多,比如

private是否可以修改?
final是否可以修改?
List<String>中,可不可以添加其他类型?
......

  这些都是常见的问题,在面试的时候应该如何回答?我也曾经像处女座一样,好在意,好纠结...尤其是类似的技术,文章越来越多,我就这样纠结着修改着bug,不快乐的回忆也越来越多,"写好的接口连接数据库,你为啥自己又写一个?","都是用的java7,你为啥使用java8?","说好中文用UTF-8编码,为毛变成GBK了?","说好的奖励苹果6,结果奖励一个苹果,上面刻了个6算神马".....突然我发现拥有统一的模型是多么得重要
  因为private,我可以确保我属性的安全,因为final我可以进行更快捷的优化,因为<String>,我可以毫不犹豫的getlength()...因为这是规范,api上就是这样写的,所有的程序猿全是在此基础上进行理解和加工的
  我承认做为程序猿我不喜欢人云亦云,拒绝不可以,拒绝不可能...但我不是小孩子,偷换概念的脑经急转弯只能带来混乱,正如HR,中介们最喜欢说的以合同为准一样,技术上的能不能还是以规范/api为准吧
总结:
private,final,String都是不可以修改的,因为规范--!
除非确认情况下,否则对他们的修改都照成意想不到的后果
重要的不是答案,不是准确性,最重要的统一模型,统一规范

原文地址:https://www.cnblogs.com/liuCy/p/4011631.html