一、String类的概述:
1、构造方法:
A:public String()
B:public String(byte[] bytes)
C:public String(byte[] bytes,int offset,int length)
D:public String(char[] value)
E:public String(char[] value,int offset,int count)
F:public String(String original)
2、字符串的特、点:
A:字符串一旦被赋值,就不能改变。(这里指的是字符串的内容不能改变,而不是引用不能改变)
B:字面值作为字符串对象和通过构造方法创建对象的不同。
3、==和equals
==:是一个运算符
“关系操作符生成的是一个boolean结果,它们计算的是操作数的值之间的关系”。
简单的来说:“==”就是用来比较引用类型的地址值是否相等
equals:是积累Object的一个方法,在Object类中,equals方法是用来比较两个对象的引用是否相等,即是否指向同一个对象。
默认引用类型也是比较地址值,但在String中比较的是值。
面试中的常见例子:
String s1 = new String("hello");
String s2 = new String("hello");
System.out.println(s1 == s2);// false
System.out.println(s1.equals(s2));// true
String s3 = new String("hello");
String s4 = "hello";
System.out.println(s3 == s4);// false
System.out.println(s3.equals(s4));// true
String s5 = "hello";
String s6 = "hello";
System.out.println(s5 == s6);//true
System.out.println(s5.equals(s6));// true
4、常用方法:
A:判断功能
boolean equals(Object obj)
boolean equalsIgnoreCase(String str)
boolean contains(String str)
boolean startsWith(String str)
boolean endsWith(String str)
boolean isEmpty()
B:获取功能
int length()
char charAt(int index)
int indexOf(int ch)
int indexOf(String str)
int indexOf(int ch,int fromIndex)
int indexOf(String str,int fromIndex)
String substring(int start)
String substring(int start,int end)
C:转换功能
byte[] getBytes()
char[] toCharArray()
static String valueOf(char[] chs)
static String valueOf(int i)
String toLowerCase()
String toUpperCase()
String concat(String str)
D:其他功能
a:替换功能
String replace(char old,char new)
String replace(String old,String new)
b:去空格功能
String trim()
c:按字典比较功能
int compareTo(String str)
int compareToIgnoreCase(String str)