Loading

String,StringBuilder,StringBuffer

String

String 不是基本数据类型,Java中的所有字符串(例如"abc" )都被实现为此类的实例。
String对象是不可变的。

public boolean equals(Object anObject)
public char charAt(int index)
public int length()
public
String s = "hello";          // 在常量池中 创建了 “hello”
s += "world";                // 在常量池中 创建了 “world” ,“helloworld”
System.out.println(s);       // 此时 s 指向 “helloworld” ,“hello” 和 “world” 都被浪费掉了。

对字符串进行拼接操作,每次拼接,都会创建新的String对象(字符串在java中都被认为是String对象),既耗时,又浪费空间。

StringBuilder

可变字符串,可以看成一个容器,可变指的是StringBuilder对象中的内容是可变的,在做拼接时,不会创建新的对象。

public StringBuilder();                  // 创建一个空白可变字符串对象
public StringBuilder(String str);
        String str = "ceshi";
        StringBuilder sa = new StringBuilder(str);
//      append()添加数据,返回对象本身
        sa.append("hello").append("world").append("java").append(100);
        System.out.println(sa);
//      public StringBuilder reverse(); 返回相反的字符序列
        sa.reverse();
        System.out.println(sa);

StringBuilder 和 String 相互转换

// StringBuilder 转为 String

StringBuilder sb = new StringBuilder();
sb.append("[");
String s = sb.toString();

// String 转为 StringBuilder

StringBuilder s = new StringBuilder(String s) 

StringBuffer

posted @ 2022-03-27 22:05  h/hx  阅读(73)  评论(0)    收藏  举报