String类
字符串特点
-
字符串的内容永不改变
-
因为字符串内容不变,故字符串是共享使用
-
字符串的常量池
-
从JDK1.7之后,字符串常量池在堆中
-
字符串常量池中的字符串对象保存的是字节数组的地址
-
对于直接双引号的,是在常量池中
-
对于使用new关键字创建的字符串,会转换为字节数组,然后把地址给到new出来的字符串对象
字符串变量比较的是地址,字符串是常量,一旦需要改变,比如拼接,那是产生了一个新的字符串。注意,字符串内容是不会改变的,变量名存储的是字符串的地址,打印出来的是字符串内容。
public boolean equals(Object obj);//参数可以是任何对象,只有参数是一个字符串并且内容相同的才会返回true,否则返回false,equals方法比较内容是否相同,格式:常量.equals(变量),因为变量写前面,如果变量的值为null,可能会出现空指针异常
public int length();
public String concat(Strng str);//将当前字符串和参数字符串拼接成为新的字符串并返回
public charAt(int index);//获取指定索引位置的单个字符,索引从0开始
public int indexOf(String str);//查找参数字符串在本字符串中首次出现的索引位置,若没有就返回-1
public String substring(int index);//截取从参数位置一直到字符串末尾,返回新的字符串
public String substring(int begin, int end);//截取从begin开始到end结束,左闭右开[begin, end)
public char[] toCharArray();//将当前字符串拆分成为字符数组并返回
public byte[] getBytes();//获得当前字符串底层的字节数组
public String replace(CharSequence oldStr, CharSequence newStr);//将所有出现的旧字符串替换成为新的字符串,并返回替换后的新字符串
public String[] split(String regex);//按照参数规则,将字符串切分为若干部分,正则表达式,转义字符,后续补充
浙公网安备 33010602011771号