一、字符串的学习
package StringLearn; public class StringTest { public static void main(String[] args) { //String类型存在jvm的方法区,常量池里面 String s1 = "abcdef"; //拼接产生新的字符串常量 String s2 = "abcdef" + "xy"; //new 对象时一定在堆内存里开辟空间 String s3 = new String("xy"); byte[] bytes01 = {97, 98, 99, 100}; String string01 = new String(bytes01); System.out.println(string01); //abcd System.out.println(string01.toString()); String string02=new String(bytes01,1,3); System.out.println(string02);//bcd char char01="中国人".charAt(0); System.out.println(char01);//中 int result01="abc".compareTo("abd");//相等是0,前大后小是1,反之-1 System.out.println(result01); System.out.println("My name is ADC".contains("ADC")); System.out.println("My name is ADC".endsWith("ADC")); System.out.println("My name is ADC".startsWith("ADC")); System.out.println("abc".equalsIgnoreCase("Abc"));//ture //字符串切割的方法 String []string03="2000-01-01".split("-"); for (int i=0;i<string03.length;i++) { System.out.println(string03[i]); } String string04=new String("avds"); System.out.println(string04.toString()); //没有重写toString()方法之前是对象的内存地址 String string05=String.valueOf(new Test01()); System.out.println(string05);//已经从地址转成字符串了哦 //本质上System.out.println都是转成字符串再输出 String string06=""; for (int i=0;i<10;i++){ string06=string06+i; System.out.println(string06); } //因为每建一个字符串都会新加入字符串常量池,会造成空间浪费,所以会使用StringBuffer //StringBuffer初始化为16个byte数组 StringBuffer stringBuffer=new StringBuffer(); stringBuffer.append("a"); stringBuffer.append("3.14"); stringBuffer.append("102L"); System.out.println(stringBuffer); } }