分享

Java字符串(String)

 太极混元天尊 2018-05-16


推荐阅读:

String是一个特殊的包装类数据。


String即可以用String str= new String('abc');的形式来创建,也可以用String str ='abc';的形式来创建。

     String str = 'abc'创建对象的过程


1 首先在常量池中查找是否存在内容为'abc'的字符串对象

2 如果不存在则在常量池中创建一个'abc'的字符串对象,并让str引用该对象

3 如果存在则直接让str引用该对象

 

注意:常量池属于类信息的一部分,而类信息反映到JVM内存模型中是对应存在于JVM内存模型的方法区,也就是说这个类信息中的常量池概念是存在于在方法区中。


一般这种情况下,'abc'在编译时就被写入字节码中,所以class被加载时,JVM就为'abc'在常量池中分配内存,所以和静态区差不多。 


如图:

String str = new String('abc')创建实例的过程

1首先定义一个str的String类型的引用并存放在栈中

2在字符串常量池中查看是否存在内容为'abc'字符串对象 

3若存在则跳过这个步骤,若不存在,则在字符串常量池中创建一个内容为'abc'的字符串对象。

4执行new操作,在堆中创建一个指定的对象'abc',这里堆的对象是字符串常量池“abc”对象的一个拷贝对象。

5让str指向堆中“abc”这个对象(也就是存储这个对象的在堆中的地址)

字符串中的常用方法

(1) 字符串的连接

    public String concat(String str) 
该方法的参数为一个String类对象,作用是将参数中的字符串str连接到原来字符串的后面.


(2)求字符串的长度
    public int length()
返回字串的长度,这里的长度指的是字符串中Unicode字符的数目.


(3)求字符串中某一位置的字符
    public char charAt(int index)
该方法在一个特定的位置索引一个字符串,以得到字符串中指定位置的字符.值得注意的是,在字符串中第一个字符的索引是0,第二个字符的索引是1,依次类推,最后一个字符的索引是length()-1.


(4)字符串的比较
比较字符串可以利用String类提供的下列方法:
    public boolean equals(Object anObject)
该方法比较两个字符串,和Character类提供的equals方法相似,因为它们都是重载Object类的方法.该方法比较当前字符串和参数字符串,在两个字符串相等的时候返回true,否则返回false.

 

(5)从字符串中提取子串

    public String substring(int beginIndex)
该方法从beginIndex位置起,从当前字符串中取出剩余的字符作为一个新的字符串返回.

 

(6) 字符串中单个字符的查找
字符串中单个字符的查找可以利用String类提供的下列方法:
    public int indexOf(int ch)

该方法用于查找当前字符串中某一个特定字符ch出现的位置.该方法从头向后查找,如果在字符串中找到字符ch,则返回字符ch在字符串中第一次出现的位置;如果在整个字符串中没有找到字符ch,则返回-1.

 

(7) 字符串中多余空格的去除
    public String trim()
该方法只是去掉开头和结尾的空格,并返回得到的新字符串.值得注意的是,在原来字符串中间的空格并不去掉.



公众号资源免费分享!!!

2017年某培训班最新视频+几十个项目免费分享 公众号输入“我要视频”


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多