String注意: 调用方法的时候,如果方法有明确的返回值,我们用变量接收 可以手动完成,也可以使用快捷键的方式完成 (Ctrl+AIt+V)
字符串的特点: 字符串不可变,它们的值在创建后不能被更改 虽然 String的值是不可变的,但是它们可以被共享 字符串效果上相当于字符数组(char[]),但是底层原理是字节数组 (byte[]) JDK8及以前是字符数组,JDK9及以后是字节数组
字符串内容比较
-
字符串是对象,它比较内容是否相同,是通过一个方法来实现的,这个方法叫:equals()
范例: System. out. println(s3. equals(s4));
String和 String Builder的区别:
String:内容是不可变的 String builder:内容是可变的
String Builder的添加和反转方法
添加
-
public StringBuilder append(任意类型)
-
添加数据,并返回对象本身
-
-
public StringBuilder reverse ()
-
返回相反的字符序列
-
//创建对象
StringBuilder sb = new StringBuilder();
// public StringBuilder append(任意类型):添加数据,并返回对象本身
//链式编程
sb.append("hello").append("world").append("java").append(100);
System.out.println("sb:"+ sb);
反转
// public StringBuiLder reverse():返回相反的字符序列
sb.reverse();
System.out.println("sb:"+ sb);
StringBuilder 和 String 相互转换
-
StringBuilder 转换为 String
public String toString():通过 tostring(0就可以实现把 StringBuilder 转换为 String
//格式化输出
//转成SteingBuilder
StringBuilder sb = new StringBuilder();
sb.append("[");
for (int i = 0; i < arr.length; i++) {
if (i == arr.length -1) {
sb.append(arr[i]);
} else {
sb.append(arr[i]).append(", ");
}
}
sb.append("]");
//转回String
String s = sb.toString();
return s;
}
-
String 转换为 StringBuilder
public StringBuilder( String s):通过构造方法就可以实现把 String 转换为 StringBuilder
//反转
public static void main(String[] args) {
//录入
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String line = sc.nextLine();
String s = myReverse(line);
System.out.println(s);
}
public static String myReverse(String s) {
// StringBuilder sb = new StringBuilder(s);
// sb.reverse();
// String ss = sb.toString();
// return ss;
return new StringBuilder(s).reverse().toString();
}



