第三章 Java的基本程序设计结构——字符串

来源:互联网 发布:淘宝天猫图片尺寸 编辑:程序博客网 时间:2024/04/28 05:56

从概念上讲,Java不存在真正的字符串,字符串是由单个字符组成的。字符串就是Unicode字符序列。Java没有内置的字符串类型,而是在标准的Java类库中预定义类,即String类。

子串

String类提供substring方法,用于从一个大的字符串中取出一个小的字符串。

拼接

Java语言允许加好 + 连接俩个字符串。
注意,当一个字符串与一个非字符串连接,非字符串会自动转换成字符串。

不可变字符串

这里说下自己的理解。
首先需要明确String类对象和String变量的区别。

String s1 = new String("This is s1.");String s2 = "This is s2.";//需要明确的是:s1和s2内有hash地址,保存在栈内存中。//"This is s1."存储在堆内存中,s1的hash地址指向"This is s1." 。//"This is s2."存储在数据区,s2的hash指向它。s1 = s1 + s2;//这里将s1与s2连接的字符串重新赋给s1.但需要知道"This is s1."这一对象并未改变。内存中重新new了一个对象,值为s1+s2,然后赋值给s1.

因此说String对象是不可变的,但是String变量可以改变其值。

判断2个字符串是否相同

用equals()方法进行判断。
切记不可有 == 来判断。可以理解 == 对比的是hash的值。

空串和null串

空串是长度为0的字符串。空串是一个Java对象,有自己的长度(0)和内容(空)。
判断一个字符串是否为空串:

if(str.length()==0)
if(str.equals(“”))

null表示没有任何对象与改变量关联。
判断一个变量是否为null:

if(str==null)

if(str !=null && str.length() !=0)/判断一个字符串既不是null也不是空串

代码点与代码单元

0 0
原创粉丝点击