Java字符串(String)
2021-01-23 04:15
标签:指定 创建 alt unicode indexof int 开头 数据 equal String 即可以用 String str= new String("abc");的形式来创建,也可以用String str ="abc";的形式来创建。 1 首先在常量池中查找是否存在内容为”abc“的字符串对象 注意:常量池属于类信息的一部分,而类信息反映到 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”这个对象(也就是存储这个对象的在堆中的地址) (2)求字符串的长度 (3)求字符串中某一位置的字符 (4)字符串的比较 (5)从字符串中提取子串 (6) 字符串中单个字符的查找 该方法用于查找当前字符串中某一个特定字符ch出现的位置.该方法从头向后查找,如果在字符串中找到字符ch,则返回字符ch在字符串中第一次出现的位置;如果在整个字符串中没有找到字符ch,则返回-1. (7) 字符串中多余空格的去除 Java字符串(String) 标签:指定 创建 alt unicode indexof int 开头 数据 equal 原文地址:https://www.cnblogs.com/canzhen/p/java_string.htmlString是一个特殊的包装类数据。
String str = "abc"创建对象的过程:
2 如果不存在则在常量池中创建一个”abc“的字符串对象,并让str引用该对象
3 如果存在则直接让 str 引用该对象
字符串中的常用方法
(1) 字符串的连接
public String concat(String str)
该方法的参数为一个 String 类对象,作用是将参数中的字符串 str 连接到原来字符串的后面.
public int length()
返回字串的长度,这里的长度指的是字符串中 Unicode 字符的数目.
public char charAt(int index)
该方法在一个特定的位置索引一个字符串,以得到字符串中指定位置的字符.值得注意的是,在字符串中第一个字符的索引是0,第二个字符的索引是1,依次类推,最后一个字符的索引是length()-1.
比较字符串可以利用String类提供的下列方法:
public boolean equals(Object anObject)
该方法比较两个字符串,和Character类提供的equals方法相似,因为它们都是重载Object类的方法.该方法比较当前字符串和参数字符串,在两个字符串相等的时候返回true,否则返回false.
public String substring(int beginIndex)
该方法从beginIndex位置起,从当前字符串中取出剩余的字符作为一个新的字符串返回.
字符串中单个字符的查找可以利用String类提供的下列方法:
public int indexOf(int ch)
public String trim()
该方法只是去掉开头和结尾的空格,并返回得到的新字符串.值得注意的是,在原来字符串中间的空格并不去掉.
上一篇:Python编程技巧(二)