Android常见面试问题及其答案
思考:我们上面已经知道String是指向常量池的,它的值是不可变的,变更时其实是使用了StringBuilder进行拼接,再将拼接后的值在常量池中的地址指向给String,StringBuilder和StringBuffer的区别是前者线程不安全,效率高,后者线程安全。思考:String不可变的代码层原因是它的本质是一个设置为final的byte数组,内容不可变更,设计上是基于稳定考虑,毕竟不可变的对象是原子性的,线程安全的,避免了变化引起的问题。String b = "he"+"llo" (常量池)
原创
2023-10-30 17:14:59 ·
180 阅读 ·
0 评论