Java基础-字符串

字符串基础知识总结

字符串基础知识总结图

1、字符串概述及特点

概述

  • Java.lang.String类是字符串;
  • API当中说:Java程序中所有的字符串字面值都作为String类的实现。也就是说,程序当中所有双引号字符串,都是String类的对象。(就算没有new,也照样是String类的对象)。

特点

  • 字符串的内容永不可变【重点】;
  • 正是因为字符串不可改变,所以字符串是可以共享使用的。
  • 字符串效果相当于char[]字符数组,但底层原理是byte[]字节数组。

2、字符串的创建-字符串的构造方法及直接创建

创建字符串的常见3+1种方式

三种构造方法

public String() 创建一个空白字符串,不含有任何内容
public String (char[] array) 根据字符数组的内容,来创建对应的字符串;
public String(byte[] array) 根据字节数组的内容,来创建对应的字符串;

例子:

//1、使用空参构造
String str1 =  new String();//小括号留空,说明字符串什么内容都没有


//2、根据字符数组创建字符串
char[] charArray = {'A','B','C'};
String str2 = new String (charArray);

//3、根据字节数组创建字符串
byte[] byteArray = {'97,98,99};
String str2 = new String (byteArray );

直接创建

  • String str =“Hello”; 右边直接使用双引号
  • 注意:直接写上双引号,就是字符串对象。

3、字符串常量池

字符串常量池:程序当中直接写上双引号字符串,就在字符串常量池中

对基本类型来说,== 是数值的比较;
对引用类型来说,== 是地址值的比较;

字符串对象使用内存分配图解

4、字符串中常用方法的掌握

比较

== 是进行对象的地址值比较,如果确实需要字符串内容的比较,掌握如下两种方法:

  • public boolean equals(Object obj):参数可以是任何对象,只有参数是一个字符串并且内容相同的才会给true,否则,返回false;
  • public boolean equalsIgnoreCase(String str):忽略大小写,进行内容比较;

获取

掌握如下4个方法,获取长度、获取拼接字符串、获取指定索引位置单个字符、获取参数字符串在本字符串中的位置

  • **public int length()😗*获取字符串当中含有的字符个数,拿到字符串长度
  • **public String concat(String str)😗*将当前字符串和参数字符串拼接成为返回值,返回新的字符串
  • **public char charAt(int index)😗*获取指定索引位置的单个字符(索引从0开始)
  • **public int indexOf(String str)😗*查找参数字符串在本字符串中首次出现的索引位置,如果没有,返回-1值

截取

截取字符串,掌握如下两个方法

  • public String substring(int index):截取从参数位置一直到字符串末尾,返回新的字符串
  • public String substring(int begin,int end):获取从begin开始,一直到end结束,中间的字符串。注意:左闭右开区间

转换

将字符串转换为其他(字符串数组、字节数组、新字符串),需掌握的方法

  • **public char[] toCharArray()😗*将当前字符串拆分成为字符串数组作为返回值;
  • **public byte[] getBytes()😗*获得当前字符串底层得字节数组;
  • **public String replace(CharSequence oldString,charSequence newString)😗*将所有出现得老字符串,替换成为新的字符串,返回
    替换之后的新字符串;

分割

  • **public String[] split(String regex):**按照参数规则,将字符串切分为若干部分,参数regex是一个“正则表达式”。
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页