今天我们来看下我们的java中的String.
我列出了十个方法,通过代码来展示string的用法:转换大小写
包含
截取
匹配
分割
转换
连接
相等
去重
反转
我们先创建一个str变量="abCD"
String str = "abCD";
转换大小写:
str.toLowerCase()是将str字符串转换成小写 str.toLowerCase()是将str字符串转换成大写
System.out.println("小写:"+str.toLowerCase());
System.out.println("大写:"+str.toUpperCase());
包含:
1.字符串的包含是半包含
还是用上面的str变量
System.out.println(str.toLowerCase().contains("bc"));
//先将字符串转换成小写,然后看是否包含"bc"
2.集合的包含就是全量包含
创建一个集合并插入三条数据
List lists = new ArrayList();
lists.add("陈宇涛");
lists.add("abc");
lists.add("Damnnnnn");
System.out.println("全包含测试");
System.out.println(lists.contains("宇涛"));
System.out.println(lists.contains("Damnnnnn"));
可以看到集合的包含是一个全量包含,我必须查询"陈宇涛"才是true,"宇涛"就是false。
不过我们只要把数据遍历出来,一一比对就可以解决这个问题
for(String s:lists) {
System.out.println("每一项的值为:"+s.toString());
System.out.println(s.contains("宇涛"));
}
这里就进行了每一项的包含测试,可以看出是一个半包含。
截取 :
有两种方法来截取,第一种就是截取下标,第二种截取字符。(indexOf , substring)
1.先来说第一种截取下标,拿一开始创建的str来说
System.out.println("字符b的下标是");
System.out.println(str.indexOf("b"));
2.当我们要判断这个文件是否是文本文件时,可以截取"."后面的值
首先创建一个字符,通过找到"."来截取文件格式
String fileName="a.txt";
String lastName=fileName.substring(fileName.lastIndexOf("."));
System.out.println(lastName);
if(lastName.equals(".txt"))
{
System.out.println("是文本文件");
}else {
System.out.println("不是文本文件");
}
我们在这段代码中采用了lastIndexOf()这个方法,它可以找到最后一个小数点,就避免了某些测试错误,例如给你的文件的文件名是a.txt.txt
String fileName="a.txt.txt";
String lastName=fileName.substring(fileName.indexOf("."));
System.out.println(lastName);
if(lastName.equals(".txt"))
{
System.out.println("是文本文件");
}else {
System.out.println("不是文本文件");
}
使用lastIndexOf()就能找到正确的后缀名了。但是有个更加简便的方法,就是接下来要讲的匹配。
匹配
endsWith以...结束 startsWith以...开始
System.out.println("endsWith以...结束 startsWith以...开始");
System.out.println(fileName.endsWith(".txt"));
System.out.println(fileName.startsWith("a"));
能检测开头的值和结尾的值。
分割
我们刻意设计一个指令
String str2 = "root|123456|add_name";
root是我mysql的用户名,123456是我的密码,add是方法,name是要增加内容的字段名。
String[] ss= str2.split("\\|");
System.out.println(ss[0]);
System.out.println(ss[1]);
System.out.println(ss[2].substring(0, ss[2].lastIndexOf("_")));
System.out.println(ss[2].substring(ss[2].lastIndexOf("_")+1));
第一行代码的意思是给"|"转义
我们想要的字符都分割开来了,可以用分割来获取我们写在配置文件中字符。我们管理项目也只要对配置文件进行修改就可以了。
转换
String a1="123sdf4578gb";
char[] cs= a1.toCharArray();
String a2="";
for(char c:cs) {
//一种方法
//if(c>='a' && c<='z') {
//continue;
//}
//a2+=c;
//另一种方法
try {
int a=Integer.parseInt(String.valueOf(c));
System.out.println(a2+=a);
}
catch(Exception e){
}
}
System.out.println(a2);第一种方法的结果第二种方法的结果
第二种看起来比较多,我只是在遍历里面打印了一下值,其实两个结果是一样的。
连接
连接就两种1.+= 2.contains
String s3="123";
//s3+="456";//System.out.println(s3);//System.out.println(s3.hashCode());//1450575459String s4 = s3.concat("456");
System.out.println(s4.hashCode());//1450575459
结果都是123456
去重
String c = "123335689";
String d="";
char[] css = c.toCharArray();
for(char cs1:css)
{
if(d.contains(String.valueOf(cs1)))
{
continue;
}
else {
d+=cs1;
}
}
System.out.println(d);
将c放入数组,如果d中包含遍历出来的值就跳出循环,如果没有包含就连接d
结果是
反转
String c = "123335689";
String ee ="";
char[] csss=c.toCharArray();
for(int i=csss.length-1;i>=0;i--)
{
String e = String.valueOf(csss[i]);
ee+=e;
}
System.out.println(ee);
反转就是从后往前遍历
String的介绍就到此结束!!!