String是一个字符串,它是不可变的。
我知道的操作案例,可能会对你们有帮助,不喜勿喷!
String aaa="abcdef";
//打印下标为2的字符
System.out.println(aaa.charAt(2));
//包含 必须相连
System.out.println(aaa.contains("abc"));
//以什么什么结束
System.out.println(aaa.endsWith("def"));
//以什么开始
System.out.println(aaa.startsWith("abc"));
//判断字符串内容是否相等
//== 判断的是地址,equals判断的是内容
System.out.println(aaa.equals("abcdef"));
//不区分大小写
System.out.println(aaa.equalsIgnoreCase("abcdef"));
//返回当前字符对应的索引
System.out.println(aaa.indexOf("b"));
//判断字符串是否为空
System.out.println(aaa.isEmpty());
//长度
System.out.println(aaa.length());
//替换字符串中的内容
System.out.println(aaa.replace("a", "c"));
----------------------------------------------------------------------------------------------------------------------------------------
分割字符串 截取字符串
String names="tom,bb,cc"; String aaa="abcdef"; //包前不包后 String[] name =names.split(","); String ddd=aaa.substring(2,6); System.out.println(name[0]); System.out.println(ddd); System.out.println(name[1]); System.out.println(name[2]);
可能会遇到的面试题:
重点哦,理解,理解,理解!
String s1=new String("abc");
String s2="abc";
System.out.println(s1==s2); false
System.out.println(s1.equals(s2)); true
String s3="bbb";
String s4="bbb";
System.out.println(s3==s4); true
String s5=new String("ccc");
String s6=new String("ccc");
System.out.println(s5==s6); false
String s7="hello";
String s8="world";
String s9="helloworld";
System.out.println(s9==s7+s8); false
System.out.println(s9=="hello"+"world"); true
重点哦亲:
字符串如果是变量相加,先开空间,再拼接
字符串如果是常量相加,先拼接,然后再常量池找,如果有就直接返回,没有再创建
String,StringBuffer,StringBuilder的区别
String内容不可变,
后两个内容可变
StringBuffer是线程同步的,数据安全,效率低;
StringBuilder线程不同步,数据不安全,效率高。
StringBuffer,StringBuilder的构造方法是一样的,记住一个就好!!!!!!
---------------------------------------------用StringBuffer判断是否是回文字符串---------------------------------------
String s="abcdcba"; StringBuilder sb=new StringBuilder(s); String aaa=sb.reverse().toString(); int bbb=aaa.compareTo(s); //若相等则输出0 if (bbb==0){ System.out.println("是回文"); }else System.out.println("不是回文");
常见的方法,以后会经常用到
// 指定一个容量 字符串
StringBuffer buffer=new StringBuffer("sfsdg");
//在字符串后追加
buffer.append("bbb");
//反转
buffer.reverse();