为什么要写这个呢?
是由这些引起的。
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[]数组呢?它是怎么存储的,它到底存放的是什么内容,显示出来,打印出来是哪种的?
这个可以参考哈:
可以看出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个位置的字符
了,会产生IndexOutOfBoundsException异常
System.out.println("=345".startsWith("45",2));//true看“=345”从第三位开始截取的字符串是不是以‘45’开始,是=true,否=false。
String的方法实在是太多了,建议用的时候查API,我截图只是为了加深印象,印象中有这种方法,有这个东西,建议查API,自己动手看效果,不用死记硬背。
SSH,SFTP就下次找时间,动手试试了,先存着。周末愉快啦!