public String() 创建一个空白的字符串对象,不含有任何内容
public String (char[] c) 根据字符数组的内容,创建字符串对象
public String (byte[] b) 根据字节数组的内容,创建字符串对象
String(byte[] bytes,int offset,int length)
根据字节数组的内容,从偏移量(下标)offset开始,获取length个字符,创建字符串象
String s="abc"; 直接赋值的方式创建对象
2、遍历:String底层为char数组,更底层为byte数组==和equals
==:判断地址值是否相同(针对引用数据类型)
equals:判断内容是否相同(String专用,且String的值不能为null)
String s=null;
s.equals("abc");//程序出错
有下标有长度
长度通过length()获取
获取元素通过charAt(int index)
例如://遍历字符串s中的字符
String s="abc";
for(int i=0;i System.out.println(s.charAt(i)); } regex:字符串的切分条件 regex:可以写成多个通过 | 分割 例如:split(",|。"); 以,或。分割 作用:将当前后第一个字符或符号,更改原含义 例如:sout("n"); 当前n做字符串使用 sout("n"); 当前n做关键字使用,java识别为换行符 前缀:String对象.startWith(String str); 后缀:String对象.endWith(String str); String是一个特殊的引用数据类型,通常做基本数据来使用 String值不可变 String值可以被共享 String做拼接或修改时,都会生成新的字符串对象,这种方式不可避免,又消耗时间又消耗 资源,为了避免这种操作,可以通过StringBuilder解决 ””、null、new String()三者的区别 null 表示string还没有new ,也就是说对象的引用还没有创建,也没有分配内存空间给他,而””、new String()则说明了已经new了,只不过内部为空,但是它创建了对象的引用,是需要分配内存空间的。 java的虚拟机在内存中开辟出一块单独的区域,用来存储字符串对象,这块内存区域被称为字符串缓冲池。那个java的字符串缓冲池是如何工作的呢? 创建字符串的时候先查找字符串缓冲池中有没有相同的对象,如果有相同的对象就直接返回该对象的引用,如果没有相同的对象就在字符串缓冲池中创建该对象,然后将该对象的应用返回。 1、构造: StringBuilder() 创建一个空白的StringBuilder对象,不含有任何内容 StringBuilder(String str) 根据字符串的内容,创建StringBuilder对象 2、操作:public StringBuilder append(任意类型) 添加数据并返回对象本身 public StringBuilder reserve() 返回相反的字符序列 注意:StringBuilder和StringBuffer的区别 StringBuilder :线程不安全,执行速度快 StringBuffer :线程安全,执行速度慢 1. String->StringBuilder: String中没有的操作功能,StringBuilder中有 通过StringBuilder(String str)转换 String s="hello"; StringBuilder sb=new StringBuilder(s); 2. StringBuilder->String:通常转为String类型来操作 StringBuilder中没有的操作功能,String中有 通过StringBuilder中的toString()转换 StringBuilder sb=new StringBuilder(); sb.toString();
StringBuilder:是一个可变的字符串,默认空间大小为16
相互转化



