String 字符串类
笔试题目:
new String("abc")创建了几个对象?
答:
两个对象, 一个对象是 位于字符串常量池中,一个对象是位于堆内存中。
1、string对象比较
String类重写了Object的equals方法,比较的是两个字符串对象的内容 是否一致。
注:”==”用于比较 引用数据类型数据的时候比较的是两个对象的内存地址,equals方法默认情况下比较也是两个对象的内存地址。
2、String 的构造方法
String() 创建一个空内容 的字符串对象。
String(byte[] bytes) 使用一个字节数组构建一个字符串对象
String(byte[] bytes, int offset, int length)
bytes : 要解码的数组
offset: 指定从数组中那个索引值开始解码。
length: 要解码多个元素。
String(char[] value) 使用一个字符数组构建一个字符串。
String(char[] value, int offset, int count) 使用一个字符数组构建一个字符串, 指定开始的索引值,与使用字符个数。
String(int[] codePoints,int offset,int count)
String(String original)
记住: 使用字节数组或者字符数组都可以构建一个字符串对象。
3、获取方法
int length() 获取字符串的长度
char charAt(int index) 获取特定位置的字符 (角标越界)
int indexOf(String str) 查找子串第一次出现的索引值,如果子串没有出现 在字符串中,那么则返回-1表示。
int lastIndexOf(String str) 查找子串最后一次出现的索引值 , 如果子串没有出现 在字符串中,那么则返回-1表示
4、判断方法
boolean endsWith(String str) 是否以指定字符结束
boolean isEmpty()是否长度为0 如:“” null V1.6
boolean contains(CharSequences) 是否包含指定序列 应用:搜索
boolean equals(Object anObject) 是否相等
boolean equalsIgnoreCase(String anotherString) 忽略大小写是否相等
5、转换方法
char[] toCharArray() 将字符串转换为字符数组
byte[] getBytes();
注:字节数组与字符数组、字符串他们三者之间是可以互相转换。
6、其他方法
String replace(String oldChar, String newChar) 替换
String[] split(String regex) 切割
String substring(int beginIndex) 指定开始 的索引值截取子串
String substring(int beginIndex, int endIndex)指定开始 与结束的索引值截取子串
String toUpperCase() 转大写
String toLowerCase() 转小写
String trim() 去除字符串首尾的空格