Jave常用的类---String类
String类
创建String对象的几种方法
1.直接赋值
String s = " n i h a o"
2.new(创建对象)
构造方法
public String()
public String(String original)
public String(char[ ] chs)
public String(byte[ ] chs)
package bag1;//String类不用手动导包public class javahomework {public static void main(String[] args) {//1.用直接赋值的方式获取一个字符串对象String s1 ="abc";System.out.println(s1);//2.使用new的方式获取一个字符串对象//空参构造:可以获取一个空白的1字符串对象String s2 =new String();System.out.println(s2);//传递一个字符串,根据传递的字符数组内容在创建一个新的字符串对象(少用)String s3 =new String("abc");System.out.println(s3);//创建一个字符数组,根据字符数组的内容再创建一个新的字符串对象char[] chs ={'a','b','c','d'};String s4 = new String(chs);//使用场景:需求:修改字符串的内容//abc-->{'a','b','c'}-->{'Q','b','c'}-->Qbc//传递一个字节数组,根据字节数组的内容再创建一个新的字符串对象byte[] bytes ={97,98,99,100};//ASCII码-->字符String s5 = new String(bytes);System.out.println(s5);//应用场景:在网络中传输的数据是字节信息//把字节信息转换成字符串时,要用到此构造}
}
String类方法
String(String str) 构造方法:创建一个新的String对象,其值为str中的字符
char charAt(int index) 返回指定索引处的字符(读取数组下标)
int compareTo(String str) 返回一个整型值,正值,0,负值分别表示本对象的字符串按字典序(实际上是ASCII码表顺序)先于、等于、后于str对象的字符串
String concat(String str) 返回一个本对象字符串和str对象字符串拼接后的新字符串
boolean equals(String str) 如果本对象字符串和str的相同(区分大小写),返回true,否则返回false
boolean equalsIgnoreCase(String str)如果本对象字符串和str的相同(不区分大小写),返回true,否则返回false
int length() 返回本对象字符串所包含的字符个数
String replace(char oldChar, char newChar) 将本对象字符串中的oldChar用newChar替换后,构成新字符串对象返回
String substring(int offset, int endIndex)返回字符串索引中从offset开始到endIndex-1为止的子串
String toLowerCase() 将字符串中所有大写字母转换成对应小写字母后,返回该字符串
String toUpperCase() 将字符串中所有小写字母转换成对应大写字母后,返回该字符串
String isEmpty()返回字符串中是否有值,有返回true,没有返回false
部分String方法的使用
- 字符串的比较
字符串用逻辑运算符==比较的是内存地址,不是字符是否相同
public class Main{public static void main(String[] args){String s1 = "abc";//记录串池中的地址值String s2 = new String("abc");//记录堆中的地址值System.out.println(s1==s2);//打印值为false}
}
public class Main{ public static void main(String[] args){ String s1 = "abc"; String s2 = "AbC";System.out.println(s1.compareTo(s2));//打印值为32,大小写敏感System.out.println(s1.compareToIgnoreCase(s2));//打印值为0,忽略大小写}
}
public class Main {public static void main(String[] args){String s1 = "abc";String s2 = "aBc";System.out.println(s1.equals(s2));//字符串不相同,打印falseSystem.out.println(s1.equalsIgnoreCase(s2));//忽略大小写,true}
}
- isEmpty检测字符串是否为空,length检测字符串长度
public class Main {public static void main(String[] args){String s1 = "abc";System.out.println(s1.length());//打印3System.out.println(s1.isEmpty());//打印true,非空}
}