优秀的编程知识分享平台

网站首页 > 技术文章 正文

4、为什么一般用String而不是char

nanyue 2024-08-04 17:04:33 技术文章 11 ℃

1、char是基本类型,String是引用类型在Java9以前String内部都是有一个char[].

String类可以调用方法,具有面向对象的特征


2、char数据类型是一个采用UTF-16编码表示Unicode码点的代码单元,有些字符需要两个代码单元例如U+1D546,这个调用charch=sentence.charAt(1)返回的不是一个空格,而是这个字符的第二个代码单元。为了避免这个问题,不要使用char,太底层了。

3、char使用单引号,String使用双引号。

4、VM为了提高性能和减少内存的开销,在实例化字符串的时候进行了一些优化:使用字符串常量池。每当我们创建字符串常量时,JVM会首先检查字符串常量池,如果该字符串已经存在常量池中,那么就直接返回常量池中的实例引用。如果字符串不存在常量池中,就会实例化该字符串并且将其放到常量池中。由于String字符串的不可变性我们可以十分肯定常量池中一定不存在两个相同的字符串,即使通过new方式创建了一个引用,也只是在堆里面创建了一个,常量池仍旧只有一个。

Tags:

最近发表
标签列表