黑马程序员--String类的知识

来源:互联网 发布:附近淘宝店 编辑:程序博客网 时间:2024/05/20 02:53
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
String类适用于描述字符串事物。
那么他就提供了多个方法对字符串进行操作。


常见的操作;
1、获取;
1.1 字符串中包含的字符数,也就是字符串的长度。
int length() 返回值类型是int
1.2 根据位置获取此位置上的字符。
char charAt(int index)  传入一个int型   返回char型
1.3 根据字符获取该字符在字符串中的位置。
int indexOf(int ch)  传入一个哈希值(如'a')。返回ch在字符串中第一次出现的位置。
int indexOf(int ch,int fromIndex) 从fromIndex位置开始,获取ch在字符串中出现的位置。


int indexOf(String str)  返回的是str在字符串中第一次出现的位置。
int indexOf(String str,int fromIndex)  从指定的fromIndex开始获取str在字符串中出现的位置。

2、判断;
2.1 字符串中是否包含某一个子串。
boolean contains(str);
特殊之处;indexOf(str); 这个方法可以索引str第一次出现的位置,如果返回-1表示该str不存在。
所以也可以用于对指定判断是否包含。
if(str.indexOf(str)!=-1) 这个方法既可以判断是否存在又可以获取位置。
2.2 字符串中是否有内容。
boolean isEmpty();  原理就是判断长度是否为0.  (""和null不一样,占一个空格长度就为一)
2.3 字符串是否以指定内容开头。
boolean startsWith(str);
2.4 字符串是否以指定内容结尾。
Boolean endsWith(str);
2.5 判断内容是否相同,并忽略大小写。
Boolean equalsIgnoreCase();


3、转换。
3.1 将字符数组转换成字符串。
构造函数;String(char[])
 String(char[],offset,count) 将字符数组中的一部分转换成字符串。offset从数组中哪个角标开始 count 此角标后几个字符转换成字符串。
静态方法;static String copyValueOf(char[]);
 static String copyValueOf(char[] data, int offset, int count)
 static String ValueOf(char[]);
3.2 将字符串转换成字符数组。
char[] toCharArray();
3.3 将字节数组转换成字符串。
String(byte[])
String(byte[],offset,count)将字节数组中的一部分转换成字符串。
3.4 将字符串转换成字节数组。
byte[] getBytes();
3.5 将基本数据类型转换成字符串。
static String valueOf(int)
static String valueOf(double)
比如3+""这是一个字符串。static String valueOf(3)这个方法返回值也是字符串。


特殊;字符串和字节数组在转换过程中,是可以指定编码表的。


4、替换
String replace(oldchar,newchar);里边放字符串就是替换字符串,放字符就是替换字符。
5、切割
String[] split(regex);  里边放切割方式
6、获取子串。获取字符串中的一部分。
String substring(begin);
String substring(begin,end);//里边放的是int型。、
7、转换,去除空格,比较
7.1 将字符串转换成大写或小写。
String toUpperCase();
String toLowerCase();
7.2 将字符串两端的多个空格去除。注意是两端的空格
String trim();
7.3 对两个字符串进行自然顺序的比较。
int compareTo(String); 正数表示this大,负数表示this小。用正数负数0来表示结果。
class StringMethodDemo {public static void method_7(){String s = "   Hello  Java";sop(s.toUpperCase());sop(s.toLowerCase());sop(s.trim());String s1 = "a1c";String s2 = "aaa";sop(s1.compareTo(s2));//结果是-48.1是49,a是97,那么s1-s2=-48.}public static void method_sub(){String s = "abcdef";sop(s.substring(2));//cdef从指定角标到结束sop(s.substring(2,4));//cd  包含头不含尾}public static void method_split(){String s = "zhangsan,lisi,wangwu";String[] arr = s.split(",");//里边放"an"返回的数组里并没有an,an只是一种分割方式for (int x=0;x<arr.length ;x++ ){sop(arr[x]);}}public static void method_replace(){/*String s = "hello java";String s1 = s.relace('a','n');sop("s="+s);//因为字符串一旦被赋值就不能被改变所以s还是"hello java"。sop("s1="+s1);//如果替换的字符不存在,那么返回的还是原来的字符串//替换字符串String s1 = s.relace("java","world");*/}public static void method_get(){String str = "abcdeaggf";//长度sop(str.length());//根据索引获取字符sop(str.charAt(4));//不存在的角标时会出现StringIndexOutOfBoundsException//根据字符获取索引sop(str.indexOf('a',4));//如果没有找到返回-1。//"a"查找字符串//反向索引sop(str.lastIndexOf('a'));//结果5  从后往前找,第一次出现的位置}public static void main(String[] args) {//method_7();//method_sub();method_split();//method_get();//method_is();}public static void sop(Object obj){System.out.println(obj);}//判断使用场景public static void method_is(){String str = "ArrayDemo.java";sop(str.startsWith("Array"));sop(str.endsWith(".java"));sop(str.contains("Demo"));}}


0 0
原创粉丝点击