java.lang.String 代表字符串
封装字符串数据 处理字符串的方法
String创建对象封装字符串数据的方式:
方式一: Java 程序中的所有字符串文字(例如“abc”)都为此类的对象。
方式二: 调用String类的构造器初始化字符串对象。
构造器 | 说明 |
public String() | 创建一个空白字符串对象,不含有任何内容 |
public String(String original) | 根据传入的字符串内容,来创建字符串对象 |
public String(char[] chars) | 根据字符数组的内容,来创建字符串对象 |
public String(byte[] bytes) | 根据字节数组的内容,来创建字符串对象 |
String提供的操作字符串数据的常用方法
方法名 | 说明 |
public int length() | 获取字符串的长度返回(就是字符个数) |
public char charAt(int index) | 获取某个索引位置处的字符返回 |
public char[] toCharArray(): | 将当前字符串转换成字符数组返回 |
public boolean equals(Object anObject) | 判断当前字符串与另一个字符串的内容一样,一样返回true |
public boolean equalsIgnoreCase(String anotherString) | 判断当前字符串与另一个字符串的内容是否一样(忽略大小写) |
public String substring(int beginIndex, int endIndex) | 根据开始和结束索引进行截取,得到新的字符串(包前不包后) |
public String substring(int beginIndex) | 从传入的索引处截取,截取到末尾,得到新的字符串返回 |
public String replace(CharSequence target, CharSequence replacement) | 使用新值,将字符串中的旧值替换,得到新的字符串 |
public boolean contains(CharSequence s) | 判断字符串中是否包含了某个字符串 |
public boolean startsWith(String prefix) | 判断字符串是否以某个字符串内容开头,开头返回true,反之 |
public String[] split(String regex) | 把字符串按照某个字符串内容分割,并返回字符串数组回来 |
String使用时的注意事项
1.string对象的内容不可改变,被称为不可变宁符串对象。
2.只要是以"..."方式写出的宁符串对象,会存储到字符串常量池,且相同内容的字符串只存储一份:但通过new方式创建宁符串对象,每new一次都会产生一个新的对象放在堆内存中
Q:1、字符串的比较使用 == 比较好吗?为什么?什么时候使用 == ?
A: 不好,对于字符串对象的比较,== 比较的是地址,容易出业务bug基本数据类型的变量或者值应该使用 == 比较。
Q:2 、开发中比较字符串推荐使用什么方式比较?
A: 使用 String 提供的 equals 方法,它只关心字符串内容一样就返回 true。