字符串的动手动脑

  1. 动手动脑

<1>请运行以下代码,查看其输出结果。如何解释这样的输出结果?从中你能总结出什么?

运行结果:

 

原因及总结:

java中,内容相同的的字符串常量(“Hello”)中保存在一份以节约内存,所以s0s1s2实际上引用的是同一个对象。

编译器在编译s2一句时,会去掉“+”号,直接把两个字符串连接起来得到一个子串(“Hello”)。这种优化工作由java编译器自动完成。

当直接使用new关键字创建字符串对象时,虽然值是一致的(都是“Hello”),但仍然是两个对立的对象。

<2>再看以下代码,为什么会有这种输出结果,又可以总结什么?

运行结果:

 

总结:

    给字符串赋值意味着:两个变量(s1s2)现在引用的是同一个变量“a”!

String对象的内容是只读的,使用“+”修改s1变量的值,实际上是得到了一个新的字符串对象,其内容为“ab”,而代码中的“ab”字符串是一个常量,它所引用的字符串与“ab”对象无关。

String.equals()方法可以比较两个字符串的内容。

     2.请查看String.equals()方法的实现代码,注意学习其实现方法。

      3.String.length()

String的长度实际上就是它的属性--char型数组value的长度。数组是没有length()方法的,大家知道,在JAVA中,数组也被作为对象来处理,它的方法都继承自Object类。数组有一个属性length,这也是它唯一的属性,对于所有类型的数组都是这样。

      4.String.charAt()

描述:此方法返回位于字符串的指定索引处的字符。该字符串的索引从零开始。

语法:如下

 

public char charAt(int index)

参数这里是参数的细节:index -- 返回字符的索引。

返回值该方法的返回指定索引

例子:

结果如下:a

         5.String.replace()

将原string 中的元素或子串替换。返回替换后的string。

(1)string 或C-string 代替操作string 中从 Pos1 开始的 Num1 个字符

代码:

(2)string 中从 Pos2 开始的 Num2 个字符,代替操作string 中从 Pos1 开始的 Num1 个字符

代码:

(3) Count 个character _Ch , 代替操作string 中从 Pos1 开始的 Num1 个字符

代码:

(4)string 或C-string ,代替操作string 中从 First0 到 Last0 的字符

代码:

5)用string 中从 _Pos2 开始的 _Num2 个字符,代替操作string 中从 First0 到 Last0 的字符

C-string 中的 _Num2 个字符,代替操作string 中从 First0 到 Last0 的字符

(6) _Count 个character _Ch , 代替操作string 中从 First0 到 Last0 的字符

          6.String.toUpperCase()和String.toLowerCase()

1toUpperCase的意思是将所有的英文字符转换为大写字母

如:String  cc = “aBc123”.toUpperCase();结果就是:ABC123

(2)toLowerCase的意思是将所有的英文字符转换为小写字母

如:String  cc = “aBc”.toUpperCase();结果就是:abc。

备注:这两个方法只对英文字母有效,对除了A~Z和a~z的其余字符无任何效果。

              7.String.trim()

String.Trim()方法会去除字符串两端,不仅仅是空格字符,它总共能去除25种字符: 
('/t', '/n', '/v', '/f', '/r', ' ', '/x0085', '/x00a0', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '?', '/u2028', '/u2029', ' ', '?')

如果你想保留其中的一个或多个(例如/t制表符,/n换行符,/r回车符等),请慎用Trim方法。

请注意,Trim删除的过程为从外到内,直到碰到一个非空白的字符为止,所以不管前后有多少个连续的空白字符都会被删除掉。

                 8.String.toCharArray()

将此实例中的字符复制到 Unicode 字符数组。

就是将字符串转换成字符数组

 

 

posted @ 2017-10-27 14:29  鱼小妹闯天涯  阅读(116)  评论(0编辑  收藏  举报