常用类String
由多个字符组成的一串数据,且一旦创建不可修改
此处一共有三个s对象,输出为最后一个s指向的字符串
//底层为final修饰的数组
//一旦修改,开辟新的空间来存储字符串
String s = "a";
s+="b";
s+="c";
System.out.println(s);
创建方式
//创建方式1
String s = "a";
//创建方式2
String s1 = new String("a");
两种创建方式的区别
简单的创建方式会在字符串缓冲池中查找,当然第一次创建时肯定没有,就会存入缓冲池,第二次直接指向该地址。
而构造方法创建的内存空间地址不一样,凡是new出来的,在内存中地址都是独一无二的。
String s ="a";
String s1 = "a";
System.out.println(s==s1);//true
String s2 = new String("a");
System.out.println(s1==s2);//false
常用判断功能
String s2 ="abc";
String s3 = "Abc";
//equals比较内容
System.out.println(s2.equals(s3));
//忽略大小写比较内容
System.out.println(s2.equalsIgnoreCase(s3));
//是否含指定子串
System.out.println(s2.contains("ab"));
//判空串,而不是null
System.out.println(s2.isEmpty());
//以xx结尾
System.out.println(s2.endsWith("bc"));
//以xx为开头
System.out.println(s2.startsWith("ab"));
String s4 = "abba";
String s5 = "b";
//字符串比大小
System.out.println(s4.compareTo(s5));
常用获取功能
//获取功能
String s4 = "abba";
String s5 = "b";
System.out.println(s4.length());
System.out.println(s4.charAt(0));//获取指定位置的索引值
System.out.println(s4.indexOf("b"));//首次出现的位置
//从index开始查找
System.out.println(s4.indexOf(index,"b"));
System.out.println(s4.substring(0,2));//截取指定区间
System.out.println(s4.substring(1));//从指定位置截取到结尾
常用转换功能
//转换功能
//getBytes()
String s6 = "你好";
byte[]bytes = s6.getBytes();//默认utf-8 编码过程
String s9 = new String(bytes,"ISO8859-1"); System.out.println(s9);//解码过程
System.out.println(Arrays.toString(bytes));//byte数组
String s7 = new String(bytes,3,3,"UTF-8");
System.out.println(s7);//好
//toCharArray()
String s10 = "aBcd";
char[]c11 = s10.toCharArray();
//[a, B, c, d]
System.out.println(Arrays.toString(c11));
String s11 = new String(c11); System.out.println(s11);//输出同下 aBcd
System.out.println(String.valueOf(c11));
//转大小写
System.out.println(s10.toLowerCase());
System.out.println(s10.toUpperCase());
//连接concat
System.out.println(s10.concat("abc"));
//split分割
//结果为[abc, def, gh]
System.out.println(Arrays.toString(new
String("abc:def:gh").split(":")))}}