在java中,字符串是一个比较常用的类,因为代码中基本上处理的很多数据都是字符串类型的,因此,掌握字符串类的具体用法显得很重要了。
它的主要功能有如下几种:获取、判断、转换、替换、切割、字串的获取、大小写转换、去除空格、比较等
下面的演示都在StringTest类中进行
class StringTest
{
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void main(String[] args)
{
get_method();
is_method();
trans_method();
repalce_method();
split_method();
substring_method();
CaseTrimCompareTo_method();
}
...........................
执行的代码如下
...........................
}
1、字符串的获取功能
public static void get_method()//字符串的获取功能
{
String str = "abcdeakpf"; //获取长度
sop(str.length());
//根据索引获取字符(可能会发生字符串角标越界异常)
sop(str.charAt());
//(顺向索引)根据字符获取索引(如果所找的字符不存在,返回的值为-1)
sop(str.indexOf('a'));
//(顺向索引)根据索引获取字符串
sop(str.indexOf("kpf"));
//(顺向索引)从指定位置,根据字符获取索引(如果所找的字符不存在,返回的值为-1)
sop(str.indexOf('a',));
//(顺向索引)从指定位置,根据字符串获取索引(如果所找的字符不存在,返回的值为-1)
sop(str.indexOf("kpf",));
//反向索引
sop(str.lastIndexOf('a'));
}
2、字符串的判断功能
public static void is_method()//字符串的判断功能
{
String str1 = "ArrayDemo.java";
String str2 = "Arraydemo.java"; //判断文件名是否以“Array”单词开头
sop(str1.startsWith("Array"));
//判断文件名是否以“java”单词结尾
sop(str1.endsWith("java"));
//判断文件名中是否包含“Demo”
sop(str1.contains("Demo"));
//判断文件名是否有内容
sop(str1.isEmpty());
//判断字符串内容是否相同,复写了Object类中的equals方法
sop(str1.equals(str2));
//判断字符串内容是否相同,并忽略大小写
sop(str1.equalsIgnoreCase(str2));
}
3、字符串的转换功能
public static void trans_method()//字符串的转换功能
{
char[] ch = {'a','b','c','d','e','f'}; //将字符数组全部转换成字符串(方法一)
String str3 = new String(ch);
sop(str3);
//将字符数组全部转换成字符串(方法二)
sop(String.copyValueOf(ch));
//将字符数组全部转换成字符串(方法三)
sop(String.valueOf(ch));
//将从指定位置指定长度的字符数组转换成字符串(方法一)
String str4 = new String(ch,,);
sop(str4);
//将从指定位置指定长度的字符数组转换成字符串(方法二)
sop(String.copyValueOf(ch,,));
//将从指定位置指定长度的字符数组转换成字符串(方法三)注意:static String vauleOf(基本数据类型和数组都可以)
sop(String.valueOf(ch,,));
//例如:此静态方法可以直接将数字转换成字符串
sop(String.valueOf()); //将字符串转换成字符数组
String str5 = "xyz";
char[] chs = str5.toCharArray();
sop(chs);
}
4、字符串的替换功能
public static void repalce_method()//字符串的替换功能
{
String s1 = "hello java"; //字符替换,返回一个新字符串
//String s2 = s1.replace('a','n');
sop(s1.replace('a','n'));
sop(s1.replace('q','n'));//(注意:如果要替换的字符不存在,那么返回的仍是原字符串)
//字符串替换,返回一个新的字符串
sop(s1.replace("java","world"));
}
5、字符串的切割
public static void split_method()//字符串的切割功能
{
String s2 = "zhangsan,lisi,wangwu"; //将字符串中姓名以分号为分割符切割出来
String[] array = s2.split(",");
for(int i=; i<array.length; i++)
{
sop(array[i]);
}
}
6、字符串子串的获取
public static void substring_method()//字符串子串的获取
{
String s3 = "abcdef"; //从2号位置开始获取子串(如果角标不存在,会出现字符串角标越界异常)
sop(s3.substring());
//从2号位置开始,到4号位置但不包含4号位置结尾,来获取子串
sop(s3.substring(,));
//获取整串子串
sop(s3.substring(,s3.length()));
}
7、字符串大小写转换、去除空格、字符串比较
public static void CaseTrimCompareTo_method()//大小写转换、去除空格、字符串比较
{
String s4 = new String(" hello JAVA "); //将字符串全部转为为大写
sop(s4.toUpperCase());
//将字符串全部转为为小写
sop(s4.toLowerCase());
//去除字符串首尾的空格
sop(s4.trim());
//字符串的比较,也即所比为两个字符ASCLL的差值(小于返回负值、等于返回0、大于返回正值)
String s5 = "abc";
String s6 = "aaa"
; sop(s5.compareTo(s6));
}