前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java字符串(String)

Java字符串(String)

作者头像
用户5224393
发布2019-08-20 16:06:14
5380
发布2019-08-20 16:06:14
举报
文章被收录于专栏:Java研发军团Java研发军团

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() 该方法只是去掉开头和结尾的空格,并返回得到的新字符串.值得注意的是,在原来字符串中间的空格并不去掉.

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-05-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java研发军团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • String是一个特殊的包装类数据。
  • 字符串中的常用方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档