`/**
java中规定:字符串相同,不创建新对象,而是重用他。如果需要修改字符串,则重新创建一个对象。 包含常量池将引用指向堆中的同一个对象 java.doc :生成注释文档。@author lei_l*/ public class StringDemo { public static void main(String[] args) {
// **1。charArt()查看第几个字符,可以用于判断是否回文 //除了使用开关,还可以使用return 结束该方法,还可以尝试使用builder的reverse()方法 String str9 = "我今天想吃麻辣拌"; System.out.println(str9.charAt(3)); // 2。Boolean startWith(string str)//判断以什么开始 // Boolean endWith(string str)//判断以什么结束 String str6 = "我是一个Java小天才"; System.out.println(str6.startsWith("小天才")); System.out.println(str6.startsWith("我")); System.out.println(str6.endsWith("天才")); // **3。indexOf() 重第几个字符开始查起是否为该字符 ,没有查到返回-1; //instanceOf可以用于检查强转是否成功(前面的为大类型,后面的为强转类型) String str5 = "thinking in Java"; System.out.println("下标"+str5.indexOf("in")); System.out.println("下标为"+str5.indexOf("in",3)); //4。 trim() 去掉一个字符串的前导和后继的空字符 String str7 = " good good study "; System.out.println(str7.trim()); //5。 **substring(int start ,int end) 截取字符串,(javaAPI特性:通常两个数字表示范围是,含头不含尾) String str8 = "我爱java"; System.out.println(str8.substring(2,6)); // 6。**toUpperCase() toLowerCase() 转换大小写,只能是英文 String str = "我爱Java"; String uper = str.toUpperCase(); System.out.println(uper); String str1 = "我爱Java"; String lower = str.toLowerCase(); System.out.println(lower); // 7。static String vauleOf(Xxx xxx) 将java中其他的类型转化为字符类型 int a = 1; double b = 1.1; String str2 = String.valueOf(a); String str3 = String.valueOf(b); System.out.println(str2); System.out.println(str3); /* 8。如果字符串过多的进行修改,则可能会导致内存溢出的情况(gc没有来的及回收就满了),所以java专门设置了一个修改字符串的类 StringBulider StringBuilder:提供了用于修改字符串的相关内容和方法。 其内部维护的是一个可变(扩容)的字符串数组(String 是不可变的),所以修改都会在当前对象中完成——>频繁修改字符串时候使用的。 */ String str4 = "我爱学习Java"; //修改前先将 string 变为stringBuilder,及使用其中的toString()方法:有有参构造,也有无参构造。 StringBuilder sb1 = new StringBuilder(str4); sb1.toString();//返回的还是builder自身,因为是为了后面的追加。 //增 StringBuilder append(String str).——>向字符串的末尾追加指定内容。(有多种重载的类型,只不过在追加前需要转化为字符串类型) sb1.append(",为了找个好工作!"); System.out.println(sb1); //换 StringBuilder replace(int strat,int end,String str)--->换指定位置的内容 sb1.replace(1, 4,"不想学习");//注意两个数字的范围,含头不含尾 System.out.println(sb1.toString()); //删 StringBulider delete(int start ,int end);---->删除指定位置的内容 sb1.delete(0, 10); System.out.println(sb1); //插入 StringBuilder insert (int index ,String str)---->插入位置,插入字符 sb1.insert(0, "好好努力是"); System.out.println(sb1); //反转字符串 StringBulider reverse(); sb1.reverse(); System.out.println(sb1); //StringBuffer和StringBuilder区别,前者考虑线程安全问题(会执行稍微缓慢一些),后者考虑,执行速度快。 //什么时候用。在单线程的时候用stringbuilder,多线程的时候用String Buffer }}`
这里是引用
