String 不可变
String 是引用类型,引用类型的变量是“指向”某个对象,它具有不可变性(重点)
即当你创建一个字符串时:String s =“hello”,
但你后面执行s="world"时,改变的是s指向的地址,而不是s指向的地址中的值被改变了,原来的hello还是存在的只是不能通过s去访问它了,所以说String是不可变的。(个人感觉有点想C中的指针)
String的表示
String 使用 “…” 来表示,Char是使用 ‘…’ 来表示。
String中的null和 “” 是不一样的,null是没有指向任何对象,"" 是有指向对象的。
String的编码
String和Char都是使用Unicode编码进行表示。
UTF-8编码因为是依靠高字节位来确定一个字符究竟是几个字节,因此在传输过程中某些字符出错,不会影响后续字符,所以UTF-8适合传输数据,转换编码可以优先考虑UTF-8。
其他
所有知识点均来自廖雪峰老师的网站,我只是通过学习对其中感触较深的知识点用自己的话进行总结归纳,方便自己随时查看。如果我有理解出现错误的地方,非常欢迎指正。
下面是廖雪峰老师官网中有关字符串的两篇文章。
字符串与数据
字符串与编码