- String类:
- 字符串方法:
- 测试代码:
- 补充:
- StringBuffer和StringBuilder:
- 示例代码:
- 与String效率比较:
- 附:
package com.oop.String; import java.util.Arrays; public class Demo01 { public static void main(String[] args) { String str = "zhangsan"; // zhangsan常量存储在字符串池中 str = "xiaoye"; // 给字符串赋值时,并没有修改变量,而是重新开辟了一个空间 String str2 = "xiaoye"; // 赋值时有则重复利用 System.out.println(str); System.out.println(str2); // 字符串的另一种创建方式 String str3 = new String("java"); // 在字符串池和堆里面分别创建一个对象 String str4 = new String("java"); System.out.println(str3==str4); // 这里是两个对象,== 比较的是地址,所以是false System.out.println(str3.equals(str4)); // String里面重写了equals方法,用equals比较的是数据 System.out.println("字符串方法的使用:"); String str5 = "I love you! love!!! LOVE love"; System.out.println(str5.length()); // 输出字符串长度 System.out.println(str5.charAt(0)); // 输出指定位置的字符 System.out.println(str5.charAt(str5.length()-1)); System.out.println(str5.contains("love")); // 是否含有某个子字符串 System.out.println(str5.contains("her")); System.out.println("====================="); System.out.println(Arrays.toString(str5.toCharArray())); // 打印字符串对应的数组 System.out.println(str5.indexOf("love")); // 打印指定字符串第一次出现的下标 System.out.println(str5.indexOf("love", 6)); // 打印指定字符串出现的下标,从指定位置开始查找 System.out.println(str5.lastIndexOf("love")); // 打印指定字符串最后一次出现的下标 System.out.println("====================="); String string = " Hello World "; System.out.println(string.trim()); // 去掉字符串前后的空格 System.out.println(string.toUpperCase()); // 把小写转换成大写 System.out.println(string.toLowerCase()); // 把大写转换成小写 System.out.println(str5.endsWith("love")); // 判断是否以指定字符串结尾 System.out.println(str5.startsWith("I")); // 判断是否以指定字符串开头 System.out.println("=========================="); System.out.println(str5.replace("love", "hate")); // 用新的字符或字符串替换旧的 String string2 = "My,, name, is xiaoye"; String[] strings = string2.split("[, ]+"); // 用出现一次或者多次的逗号或者空格分割字符串,返回一个数组 [,空格]+ for (String s : strings) { System.out.println(s); } } }
运行结果:
package com.oop.String; public class Demo02 { public static void main(String[] args) { // 补充两个方法 equals() 和 comparTo() String string1 = "Hello"; String string2 = "hello"; System.out.println(string1.equalsIgnoreCase(string2)); // equals忽略大小写的比较 String string3 = "abc"; //98 String string4 = "ayz"; //121 System.out.println(string3.compareTo(string4)); // 依次比较字符串中的字符在编码表中的位置 相减 string3 - string4 :b-y String string5 = "abcd"; String string6 = "abcdef"; System.out.println(string5.compareTo(string6)); // 这种情况比较长度 4-6 } }
运行结果:
package com.oop.String; public class Demo03 { public static void main(String[] args) { // StringBuffer、StringBuilder与String相比,效率更高(StringBuilder > StringBuffer > String),节省内存 StringBuffer stringBuffer = new StringBuffer(); stringBuffer.append("xiao"); // append()追加 System.out.println(stringBuffer.toString()); stringBuffer.append("ye"); System.out.println(stringBuffer); stringBuffer.insert(0, "one "); // insert() 添加 System.out.println(stringBuffer); stringBuffer.replace(0, 3, "love"); // replace() 替换 System.out.println(stringBuffer); stringBuffer.delete(0,5); // 删除 System.out.println(stringBuffer); stringBuffer.delete(0, stringBuffer.length()); // 清空 System.out.println(stringBuffer.length()); } }
运行结果:
package com.oop.String; public class Demo04 { public static void main(String[] args) { String string = ""; long start = System.currentTimeMillis(); // 开始时间 System.out.println(start); for (int i = 0; i < 99999; i++) { string += i; } long end = System.currentTimeMillis(); // 结束时间 System.out.println(end); System.out.println(string); System.out.println((end - start) + "ms"); // 使用StringBuilder增加效率 StringBuilder stringBuilder = new StringBuilder(); long start2 = System.currentTimeMillis(); // 开始时间 System.out.println(start2); for (int i = 0; i < 99999; i++) { stringBuilder.append(i); } long end2 = System.currentTimeMillis(); // 结束时间 System.out.println(end2); System.out.println(stringBuilder); System.out.println((end2 - start2) + "ms"); } }
运行结果:
最后附上我学习的良心视频链接:Java常用类视频链接
——————————————————————————————
—————————————————
——————
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)