String

String是一个对象,不是基本数据类型;

String的特点:字符串对象一旦初始化,便不能被修改;改变的只是引用型变量的指向;

例如:String str="abc";  String str = "ert";  "abc";依然存在,只是str的指向变了
String str ="abc";   String str = new String("abc"); 的区别:
第一个语句在字符串常量池中创建了一个对象,第二个语句new了一个对象,还在堆中创建了一个字符串对象 

String类的构造函数

String byte = new String(byte [] arr);

按平台的默认字符集解码指定的byte子数组

String char = new String(char [] arr);

分配一个新的String,使其表示其字符数组参数中的字符序列

String类中的方法:

1.获取

1.1获取字符串长度 int length();
1.2根据位置获取字符 char charAt(int index);
1.3根据字符获取在字符串中第一次出现的位置 
		indexOf()一类的重载方法
	  根据字符串获取在字符串中最后一次出现的位置 
		lastIndexOf一类的重载方法
	  注意:如果返回值是-1,则说明该字符或者字符串不存在
1.4获取字符串中一部分字符串,也称子串
    String substring(int beginIndex,int endIndex);
    String substring(int beginIndex);
    注意:截取长度等于endIndex – beginIndex(也就是包含beginIndex,不包括endIndex)

2.转换

2.1将字符串分解成多段(字符串数组)
    String [] split(String regex); 根据正则表达式的匹配来分解
2.2将字符串变成字符数组
    char [] toCharArray();
2.3将字符串变成字节数组
    byte [] getBytes();
2.4改变字符串的大小写
   String toUppercase();  大写
   String toLowerCase();  小写
2.5替换字符串内容
    String replace(char old,char new);
    String replace(String old,String new);
2.6去除字符串俩端的空白
    String trim();
2.7连接字符串
    String concat(String regex); 将指定字符串连接到此字符串的末尾

3.判断

3.1比较俩个字符串的内容是否相同
    boolean equals();
3.2忽略大小写对字符串内容进行比较
    boolean equalsIgnoreCase(String str);
3.3字符串是否包含指定字符串
    boolean contains(String str);
3.4字符串是否以指定字符串开头或者结尾
    boolean startsWith();
    boolean endsWith();

4.比较

int compareTo(String anotherString) 按字典顺序比较俩个字符串
参数字符串等于此字符串,返回值为0
参数字符串大于此字符串,返回值为负数
参数字符串小于此字符串,返回值为正数
5.intern():对字符串池进行操作

一个初始为空的字符串池,它由类 String 私有地维护。

当调用 intern 方法时,如果池已经包含一个等于此 String对象的字符串(用 equals(Object) 方法确定),则返回池中的字符串。否则,将此 String 对象添加到池中,并返回此 String 对象的引用。

它遵循以下规则:对于任意两个字符串 s 和 t,当且仅当s.equals(t) 为 true 时,s.intern() == t.intern() 才为 true。








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值