java String类的各方法

为什么要写这个呢?

是由这些引起的。

String.replaceAll(str1,str2);
-----对正则表达式的一种匹配替换

String i="www.baidu.com";
i=i.replaceAll("(*.)baidu(.*)","ok");-----i=ok;
i=i.replaceAll(".a.*","false");-----i=www.baidu.com;

String.lastIndexOf("");返回字字符串最后出现的位置,没有找到,则返回-1
int i="0123456".lastIndexOf("3");------i=3;
int i="0123456".lastIndexOf("7");------i=-1
String.indexof("");返回子字符串第一次出现字符位置,没有找到,返回-1

因为连java API好多基础的字符串操作方法,我都错误理解了它的意思。

所以,就来好好了解一下String 类吧。

String类介绍:

String类的主要功能:

 String类的构造方法:

在这里有可能要问到底什么是byte[]数组呢?它是怎么存储的,它到底存放的是什么内容,显示出来,打印出来是哪种的?

这个可以参考哈:

https://blog.csdn.net/qq_40726316/article/details/101154889

可以看出String(byte[] bytes)这个方法是把byte类型,转成char类型,进行连接,然后形成字符串。

String(byte[] bytes, int offset, int length)是从第几位开始截取,截取几位。然后转成char类型,进行连接,然后形成字符串。

 String(char[] value)是直接把字符数组转成字符串,String(byte[] bytes)方法里肯定是调用了该方法的,就像我前面说的,把字节数组转成字符数组,然后把数据拼接成字符串。

 

String.valueOf(arraylist);//把数组转成字符串格式输出。

System.out.println("哈哈哈".length());
System.out.println("als".length());

这两个的长度都是一样的,都是三。因为哈和a在存储时都是以char为单位。而并不是说一个汉字两个字节,一个字符一个字节,实际上它们都是一个字符相当于一个char.

System.out.println("abcdefg".charAt(2));//c 返回第2+1个位置的字符

char[] chars1=new char[]{'a','m',',','>'};
"String".getChars(1,3,chars1,0);//把'String'的第2开始,到第4位停(不包括第4位置)的字符截取放在chars数组上从第一个位置开始覆盖chars1数组。注意覆盖chars1数组时,覆盖的内容的长度不能超过chars1数组,否则chars1数组存储不了,会产生IndexOutOfBoundsException异常
System.out.println(new String(chars1));//tr,>

 

  

System.out.println("=345".startsWith("45",2));//true
看“=345”从第三位开始截取的字符串是不是以‘45’开始,是=true,否=false。

 

 

 

 

 

 

 

 

 

 

String的方法实在是太多了,建议用的时候查API,我截图只是为了加深印象,印象中有这种方法,有这个东西,建议查API,自己动手看效果,不用死记硬背。http://www.matools.com/api/java8

SSH,SFTP就下次找时间,动手试试了,先存着。周末愉快啦!

发布了56 篇原创文章 · 获赞 18 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_40726316/article/details/101110721