String字符串
(第一个字母大写是固定写法,String本身也是一个类名称)
三种构造方法:
public String();
public String(char[] array);//这个的操作就相当于char[]型数组转换成String型字符串
public String(bye[] array);//相当于对应的acsii码转换成字符
直接创建String str=”Hello”;
public static void main(String[] args) {
String str1=new String();
System.out.println("第一个字符串是:"+str1);
char[] array1={'a','b','c'};
String str2=new String(array1);
System.out.println("第二个字符串是:"+str2);//abc
byte[] array2={97,98,99};
String str3=new String(array2);
System.out.println("第三个字符串是:"+str3);//abc
int[] array3={97,98,99};//这个是错的,和c不同,int型的是无法转换的
String str4=new String(array3);
System.out.println("第三个字符串是:"+str4);//错的
}
字符串常量池
(我个人理解,就是说双引号型的字符串,相当于c中的const常量,而new是自己开辟的一个空间)
对于引用类型来说,==进行的是地址值的比较。
双引号直接写的字符串在常量池中,new不在池中。
String str1="abc";
String str2="abc";
char[] charArray={'a','b','c'};
String str3=new String(charArray);
System.out.println(str1==str2);//true
System.out.println(str1==str3);//false
System.out.println(str2==str3);//false
equals方法:因为==在java中对应的是地址值的比较,所以现在的比较都是用equals方法进行比较。
eg:str1.equals(str2);
equalsIgnoreCase方法:是忽略大小写的对比。
eg:String strx=“JAVA”;
String stry=“java”;
System.out.println(strx.equalsIgnoreCase(stry));//true
String中常用的方法:
public int length():获取字符串长度。
public String concat(String str):字符串拼接。
public char charAt(int index):获取指定索引位置的单个字符。
public int indexOf(String str):查找参数字符串在本字符串中是首次出现的索引位置,没有返回-1.
字符串的截取方法的,也就是substring截取子串方法:
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):将所有出现的老字符串替换成新的字符串,返回替换之后的结果新字符串
String str1="How do you do?";
String str2=str1.replace("o","*");
System.out.println(str1);//How do you do
System.out.println(str2);//H*w d* y*u d*
字符串切割方法:
public String[] split(String regex):按照参数的规则,将字符串切分成若干部分。//一个字符也要用双引号安排“”,原字符串不发生改变,会把切出来的新串转存到字符串数组中。
注意事项:split方法的参数是一个“正则表达式”,如果按照英文句点“.”进行切分,必须写“[\.](file://.)”(两个反斜杠,相当于c中的转义字符)
String str1="aaa,bbb,ccc";
String[] array=str1.split(",");
for(int i=0;i<array.length;i++){
system.out.println(array[i]);
}
//aaa
//bbb
//bbb