//===============API的使用步骤===================1:打开API帮助手册2:显示--->索引-->输入要查的API3:找到你要使用的方法//----------------------------1:导包//ng.xxx;不需要导包2:创建类的对象3:调用方法//String类://构造方法public String(String original)public String(char[] value)public String(char[] value,int offset,int count)//直接赋值也可以是一个对象//注意:字符串是一种比较特殊的引用数据类型,直接输出字符串对象输出的是该对象中的数据。
//String的特点//通过构造方法创建字符串对象String s = new String(“hello”);//直接赋值创建字符串对象String s = “hello”;//区别是什么?//面试题:String str = new String("helloworld"); //创建两个对象,一个在堆中,一个在常量池中String str2 = "helloworld"; //创建一个对象,在常量池中//常用方法//判断功能方法boolean equals(Object obj)//比较字符串的内容是否相同boolean equalsIgnoreCase(String str)//比较字符串的内容是否相同,忽略大小写boolean startsWith(String str)//判断字符串对象是否以指定的str开头boolean endsWith(String str)//判断字符串对象是否以指定的str结尾例子://boolean equals(Object obj)//比较字符串的内容是否相同// == 比较的是地址值是否相同String str1 = "hello";String str2 = "world";str1.equals(str2);str2.equals("world");"hello".equals(str2);// boolean equalsIgnoreCase(String str)String str1 = "hello";String str2 = "HEllo";str1.equalsIgnoreCase(str2);//boolean startsWith(String str): 判断字符串对象是否以指定的str开头String str = "李天明";str.startsWith("李");//boolean endsWith(String str) 判断字符串对象是否以指定的str结尾String str = "hello.java";str.endsWith(".java");//获取功能方法int length()//获取字符串的长度,其实也就是字符个数char charAt(int index)//获取指定索引处的字符int indexOf(String str)//获取str在字符串对象中第一次出现的索引,没有返回-1String substring(int start)//从start开始截取字符串到字符串结尾String substring(int start,int end)//从start开始,到end结束截取字符串;包括start,不包括end例子://char charAt(int index):获取指定索引处的字符String str = "helloworld";char ch = str.charAt(5);//int indexOf(String str):String bigStr = "xxxxxxjavaxxxxxxxxxxxxjava";String smallStr = "java";int index = bigStr.indexOf("java"); //6 -1//String substring(int start)String str = "helloworldxxx";String newString = str.substring(5);// "world"; 返回新截取的字符串//String substring(int start,int end) //包含start,不包含endString str = "helloworldxxx";String newString = str.substring(5, 10);//转换功能方法char[] toCharArray()//把字符串转换为字符数组String toLowerCase()//把字符串转换为小写字符串String toUpperCase()//把字符串转换为大写字符串例子://char[] toCharArray()String str = "helloworld";char[] chs = str.toCharArray();//String toLowerCase() //将一个字符串的所有字符都转为小写String str = "helloWOrlD";String newStr = str.toLowerCase(); //"helloworld";//String toUpperCase()//将一个字符串的所有字符都转为大写97 -32 65'a' ---> 'A'//去除空格和分割功能方法String trim()//去除字符串两端空格String[] split(String str)//按照指定符号分割字符串例子://String trim()String str = " hello ";String newStr = str.trim(); // "hello";//String[] split(String str)String date = "2017-3-30";String[] array = date.split("-");// String[] array = {"2017", "3", "30"};System.out.println(array[2]);扩展题目:String str = "2017-3-30 11:50:38"String[] strs1 = str.split(" "); //String[] strs1 = {"2017-3-30","11:50:38"};String[] strs2 = strs1[1].split(":");//String[] strs2 = {"11", "50", "38"};System.out.println(strs2[1]);//--------------------------------class Test {public void show(Person p){ //如果类作为方法的形参,则实参必须是该类的对象p.eat();}}//-------------------------Test t = new Test();Person p = new Person();t.show(p);类名作为返回值案例:返回的其实是该类的对象class Test {public Person show(){ //如果一个方法的返回类型是类,则必须返回该类的对象Person p = new Person("小王");return p;}}//StringBuilder类//StringBuilder和String的区别?String的内容是固定的。
StringBuilder的内容是可变的。
//构造方法public StringBuilder()//和构造方法相关的方法public int capacity()//返回当前容量,理论值public int length()//返回长度(字符数),实际值//添加功能public StringBuilder append(任意类型)//添加数据,并返回自身对象//反转功能public StringBuilder reverse()//1:方式1StringBuilder sb = new StringBuilder();sb.append("涛刘欢喜我");sb.reverse();//1:方式2StringBuilder sb = new StringBuilder("涛刘欢喜我");sb.reverse();//===============String和StringBuilder类的相互转换=================== 1:String转为StringBuilderString str = "涛刘欢喜我";StringBuilder sb = new StringBuilder(str);2:StringBuilder转为StringStringBuilder sb = new StringBuilder("涛刘欢喜我");String str = sb.toString();//与String的相互转换StringBuilder -- Stringpublic String toString()//通过toString()就可以实现把StringBuilder转成StringString -- StringBuilderStringBuilder(String str)//通过构造方法就可以实现把String转成StringBuilder//构造方法和成员方法的区别1:构造方法的格式:和类名相同,用来完成对对象的初始化,在创建对象的时候被调用2:成员方法是在创建对象之后调用,主要来完成一定的都能,可以随便调用//===============String和StringBuilder类的区别===================String 类:字符串内容不能改变,每次进行字符串的修改都会产生的新的字符串对象,浪费空间,效率低StringBuilder 类:字符串的内容可以改变,每次修改字符串都是在原来的字符串进行修改, 不会产生任何中间字符串,效率高。