/*
String常见的操作:
String str="abchgthujidfg";
1,获取
1.1字符串包含的字符数,即字符串的长度。
int lenrth():
str.length(); //注意字符串获取长度的方法区别于数组获取长度的方法。数组采用格式:arr.length
1.2根据位置获取位置上的字符。
char charAt(int index):
str.charAt(4);
1.3根据字符获取该字符的位置。
int indexOf(int ch):
str.indexOf(‘h‘);//注意,参数是int型的是因为用的是ascii编码形式,所以在使用该函数时可以直接传递字符参数。
str.indexOf(‘a‘); //返回的是a在字符串中从左至右地一次出现的位置。
int indexOf(int ch,int fromindex):
str.indexOf(‘t‘,2); //返回从fromindex指定位置开始,获取ch在字符串中出现的位置。
int indexOf(String substr):
str.indexOf("abc");//返回子字符串在字符串中第一次出现的位置。即a的位置。 如果不存在则返回-1
int indexOf(String substr,int fromindex):
str.indexOf("abc",5);//从索引位置为5开始,获取abc在字符串中的位置。
int lastIndexOf(int ch)://返回某一字符最后出现的位置。
2,判断
2.1字符串中是否包含某一子串。
boolean contains(str);
2.2字符串是否有内容。
boolean isEmpty(); 原理就是判断长度是否为零。
2.3字符串是否是以指定内容开头。
boolean startsWith(String str);
2.4字符串是否是以指定内容结尾。
boolean endsWith(String str);
2.5判断字符串内容是否相同,复写了Object类中的个equals方法。
boolean equals(str);
2.6判断内容是否相同并忽略大小写。
boolean equalsIgnoreCase();
3,转换
3.1将字符数组转成字符串
构造函数:String(char[])
String(char[],offset,count) //从索引为offset的字符开始数取四个。
静态方法:static String copyValueOf(char[])
static String copyValueOf(char[] data,int offset,int count)
3.2将字符串转成字符数组
char[] toCharArray();
3.3将字节数组转成字符串
构造函数:String(byte[])
String(byte[],offset,count) //从索引为offset的字符开始数取四个。
3.4将字符串转成字节数组
byte[] getBytes();
3.5将基本数据类型转换成字符串:
static String valueOf(int)
static String valueOf(double)
特殊:字符串和字节数组在转换过程中,是可以指定编码表的。
4,替换
String replace(oldchar,newchar)
5,切割
String[] split(regex) //注意返回
class StringDemo { public static void main(String[] args) { method_3(); } public static void method1() { String str="asbhdjuildkjuisdf"; sop("字符串长度:"+str.length()); sop("下标为3的字符:"+str.charAt(3)); sop("h第一次出现的位置下标:"+str.indexOf('h')); sop("下标位置为5后面的d的位置下标:"+str.indexOf('d',5)); sop("子字符串jui的位置:"+str.indexOf("jui")); sop("最后一次出现的d的位置下标:"+str.lastIndexOf("d")); sop("显示子字符串在字符串最右边出现出的索引:"+str.lastIndexOf("jui",8)); System.out.println("Hello World!"); } public static void method2() { char[] arr={'t','r','e','q','a','s','d','f'}; String s=new String(arr); sop("s="+s); sop("-------------------"); String s1=new String(arr,3,4);//从索引为3的字符开始数,取4个字符组成字符串。 sop("s1="+s1); sop("-------------------"); String s2="Hello World"; char[] chs=s2.toCharArray(); for (int i=0;i<chs.length ;i++ ) { sop("chs["+i+"]="+chs[i]); } sop("-------------------"); String s3=s2.replace('H','A');//强H替换为A sop(s3); String s4=s3.replace("Aello","Hello,,,,");//将Aello替换成Hello,,,, sop(s4); } public static void sop(Object obj) { System.out.println(obj); } public static void method_split() { String str="张三&李四"; String[] arr=str.split("&"); for (int i=0;i<arr.length ;i++ ) { sop(arr[i]); } } public static void method_value() { int[] arr={1,2,3,4,5,6,7,8,9}; for (int i=0;i<arr.length ;i++ ) { sop(arr[i]); } } public static void method_3() { String str=" Hello World ! "; sop(str.toUpperCase()); sop(str.toLowerCase()); sop(str.trim()); String str1="abcdfa"; String str2="ABcdf"; sop(str1.toUpperCase().compareTo(str2.toUpperCase())); } }
的是字符串数组类型的。
数组的集中类型:int[] arr ={1,2,3,4,5,6,7}
double[] arr ={1.0,1.2,1.3,1.4,1.5,1.5,1.7}
byte[] arr
char[] arr ={‘s‘,‘d‘,‘f‘,‘g‘,‘h‘}
String[] arr ={"sdf","fff","ggg","tgh","gbf"}
6,子串,获取字符串中的一部分
String substring(begin);//从指定位置开始到结尾,如果角标不存在,会出现字符串角标异常
String substring(begin,end);//包含头不包含尾
7,转换,去除空格,比较
7.1将字符串转换成大写或小写
String toUpperCase();
String toLowerCase();
7.2将字符串两端的多个空格去除
String trim();
7.3对两个字符串进行自然顺序的比较
int compareTo(string);
*/