java string 去重_Java之Stringtest

今天我们来看下我们的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的介绍就到此结束!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值