大家好,今天小编关注到一个比较有意思的话题,就是关于java语言charat的问题,于是小编就整理了1个相关介绍j***a语言charat的解答,让我们一起看看吧。
j***a源码中为什么这个参数要加同步锁?
先来说手CharSequence,它是j***a语言中一个抽象字符序列的接口,它定义了一组基本的字符数组操作,很多相关的类都实现了这个接口。
我们经常使用的String,StringBuilder,StringBuffer类都实现了这个接口。
String和StringBuffer、StringBuilder都使用一个char数组来储存字符串,所以在进行字符串内容比较时,可以直接使用字符数组来进行比较,效率会比调用CharSequence接口的charAt方法高,因此这里对StringBuffer和StringBuilder做了针对性的处理。
不同之处在于,String是不可变的,而StringBuffer和StringBuilder类是可变对象,其中StringBuffer还是线程安全对象,它在比较过程中可能被多个线程并发修改,为了在字符串比较过程中,避免被其他线程修改,需要进行加锁。
到此,以上就是小编对于j***a语言charat的问题就介绍到这了,希望介绍关于j***a语言charat的1点解答对大家有用。
(图片来源网络,侵删)
(图片来源网络,侵删)