String类
public class StringTest3 {
public static void main(String[] args) {
String a = "hello niho ";
System.out.println("某个位置所在的字符"+a.charAt(0));
System.out.println("字符转化为大写"+a.toUpperCase());
System.out.println("字符转化为小写"+a.toLowerCase());
System.out.println("是否以某个字母为开始"+a.startsWith("a"));
System.out.println("偏移后是否以某个字母开始"+a.startsWith("e",1));
System.out.println("是否以某个字母结束"+a.endsWith("o"));
System.out.println("替换字符"+a.replace("h", "H"));
System.out.println("替换所有的字符"+a.replaceAll(a, "abcd"));
System.out.println("字符的长度"+a.length());
System.out.println("去掉空格"+a.trim());
System.out.println("截取"+a.substring(0, 3));
System.out.println("从第三位开始截取"+a.substring(3));
System.out.println("是否包含某个字符串"+a.contains("h"));
System.out.println("比较忽略大小"+a.equalsIgnoreCase("HELLO"));
System.out.println("获得字节数"+a.getBytes());
System.out.println("按字典排序比较"+a.compareTo("a"));
System.out.println("按字典排序比较忽略大小"+a.compareToIgnoreCase("abc"));
System.out.println("转化成字符串"+String.valueOf(123456));
System.out.println("字符在某个位置"+a.indexOf("a"));
/*
*使用split()函数 分割字符串时以空格,下划线,中划线,右斜杠,逗号
*冒号,分号为分隔符的都可以直接加分隔符输出
*以点为分隔符的输出必须加上//.输出
*/
String strSplit = "123 asd erf 345";
String[] a = strSplit.split("");
String strSplit2 = "123.asd.erf.345";
String[] a2 = strSplit2.split("//.");
String strSplit3 = "123/asd/erf/345";
String[] a3 = strSplit3.split("/");
for(int i=0;i<a3.length;i++){
System.out.println(a3[i]);
}
}
}
public class Student extends Object{ String name; String grade; @Override public boolean equals(Object obj) { //判断某个类是否为空 if(obj == null){ return false; } //内存地址的比较 if(this == obj){ return true; } //向下转型 Student student = (Student)obj; return this.name.equals(student.name) && this.grade.equals(student.grade); } } public class Test { public static void main(String[] args) {
student.name = "张三";Student student = new Student();
student.grade = "一年级";
Student student2 = new Student();
student2.name = "张三";
student2.grade = "一年级";
Student student3 = student2;
System.out.println(student.equals(student2));//t
System.out.println(student2.equals(student3));//t
System.out.println(student.equals(student3));//t
System.out.println(student.equals(null));//f
}
}
StringBuffer与StringBuilderimport java.util.Scanner; //判断输入的是否是网址 public class Url { public static void main(String[] args) { System.out.println("请输入一个网址"); Scanner scanner=new Scanner(System.in); String url=scanner.nextLine(); System.out.println(IsUrl(url));; scanner.close(); } public static String IsUrl(String url){ if (url.startsWith("http")||url.startsWith("https")) { int number=url.indexOf(':'); return url.substring(number+1); }else { System.out.println("網址輸入錯誤"); return null; } } }
public class StringBuilderTest { public static void main(String[] args) { StringBuilder builder = new StringBuilder("123455"); System.out.println("添加"+builder.append("1")); System.out.println("删除"+builder.delete(2, 4)); System.out.println("在指定位置删除"+builder.deleteCharAt(0)); System.out.println("在指定位置添加"+builder.replace(1, 2, "hello")); builder.setCharAt(1, 'w'); System.out.println("转换成字符串输出"+builder.toString()); System.out.println("倒置"+builder.reverse()); } }
StringBuffer
字符串的组成原理就是通过该类实现的。
StringBuffer可以对字符串内容进行增删。
StringBuffer是一个容器,线程同步的。通常用于多线程
很多方法与String相同。
StingBuffer是可变长度的常见StringBuffer 方法
StringBuffer append(int x);
StringBuffer delete(int start, int end );
StringBuffer insert(int index,String str);
StringBuffer reverse();
public class StringBufferTest { /** * @param args * jdk1.5以后出现了功能和StringBuffer一模一样的对象。就是StringBuilder * * 不同的是: * StringBuffer是线程同步的。通常用于多线程。 * StringBuilder是线程不同步的。通常用于单线程。 它的出现提高效率。 * * jdk升级: * 1,简化书写。 * 2,提高效率。 * 3,增加安全性。 */ */ public static void main(String[] args) { /* * StringBuffer:就是字符串缓冲区。 * 用于存储数据的容器。 * 特点: * 1,长度的可变的。 * 2,可以存储不同类型数据。 * 3,最终要转成字符串进行使用。 * 4,可以对字符串进行修改。 * * * 既然是一个容器对象。应该具备什么功能呢? * 1,添加: * StringBuffer append(data); * StringBuffer insert(index,data); * 2,删除: * StringBuffer delete(start,end):包含头,不包含尾。 * StringBuffer deleteCharAt(int index):删除指定位置的元素 * 3,查找: * char charAt(index); * int indexOf(string); * int lastIndexOf(string); * 4,修改: * StringBuffer replace(start,end,string); * void setCharAt(index,char); * * 增删改查 C(create)U(update)R(read)D(delete) * * * */ bufferMethodDemo_2(); } private static void bufferMethodDemo_2() { StringBuffer sb = new StringBuffer("abce"); // sb.delete(1, 3);//ae //清空缓冲区。 // sb.delete(0,sb.length()); // sb = new StringBuffer(); // sb.replace(1, 3, "nba"); // sb.setCharAt(2, 'q'); // sb.setLength(10); // System.out.println("sb:"+sb); // System.out.println("len:"+sb.length()); System.out.println(sb.reverse()); } private static void bufferMethodDemo_1() { StringBuffer sb = new StringBuffer("abce"); // sb.append("xixi"); sb.insert(2, "qq"); System.out.println(sb.toString()); } public static void bufferMethodDemo(){ //创建缓冲区对象。 StringBuffer sb = new StringBuffer(); sb.append(4).append(false);//.append("haha"); sb.insert(1, "haha"); // sb.append(true); System.out.println(sb); } }