String
1.String是最终的类,不能被继承( public final class String)
2.String 底层维护了一个final的char[]的数组,一旦创建,不可以修改(private final char value[ ])
3.创建对象
String (char[] value) //分配一个新的 String,使其表示字符数组参数中当前包含的字符序列。
4.String的常用方法:
import java.util.Arrays;
/**
* Strig 是最终的类,不可以被继承(public final class String)
* String 底层维护了一个final的char[]的数组,一旦创建,不可以修改
* 创建对象
* String (char[] value) //分配一个新的 String,使其表示字符数组参数中当前包含的字符序列。
* String 的常用方法:
* char charAt(int index) //返回指定索引处的char值
*
*
*/
public class String_22 {
public static void main(java.lang.String[] args) {
char[] c =new char[] {'a','b','c','a'};
String s = new String(c) ; // 触发char[]类型的含参构造--存在了堆内存中
String str = "abca" ; // 直接赋值,存在堆内存中的常量池中--高效--因为常量池的相同数据,只会存一次
String str2 = "abca";
System.out.println(str2==str); //true, 相同数据,拥有相同的存储空间,内存中就是相同的地址值
System.out.println(s==str); //false, s在堆里的地址值,str在常量池的地址值,不相同
//2,常用方法
System.out.println( s.charAt(1) ); // 根据下标获取对应的字符
System.out.println( s.concat("123") ); //在字符串的末尾处拼接自定字符串
System.out.println( s.contains("ca") ); //判断是否包含指定的字符串
System.out.println( s.endsWith("a") ); //判断字符串 是否以指定后缀 结尾
System.out.println( s.equals("abca") ); //判断字符是 是否 与指定的字符串 相等
System.out.println( s.indexOf("a") ); //获取指定字符在字符串s中出现的第一次的下标值
System.out.println(s.lastIndexOf("a")); //获取指定字符在字符串s中出现的最后一次的下标值
System.out.println(s.isEmpty()); //判断字符串是否为空
System.out.println(s.length()); //获取字符串的长度
System.out.println( s.replace('a', '0') );//把旧字符用新字符替换 , 0bc0
System.out.println( s.startsWith("ab") ); //判断是否以指定字符串开始
System.out.println(s.endsWith("ab"));
System.out.println( s.substring(1) ); //从指定下标处开始,截取所有字符串
System.out.println( s.substring(0,2) ); //从指定下标开始,到指定下标结束,截取中间段[0,2)--含头不含尾
System.out.println( s.toLowerCase() ); //自动转成小写
System.out.println( s.toUpperCase() ); //自动转成大写
s =" ab ca ";
System.out.println( s.trim() ); //去除前面空格和后面空格
String xxx = String.valueOf(3.1415926); //将各种类型的数据转换成String类型
System.out.println(xxx);
// 字符串转数组
byte[] bs = s.getBytes(); //把字符串的数据放入byte[]里
System.out.println(Arrays.toString(bs));
String[] xxoo =s.split(" "); //按照指定的规则来切割字符串
System.out.println(Arrays.toString(xxoo));
}
}
输出结果: