Java学习之String
一、String介绍(引用类型)
1.java.lang.String字符串.
用""括住的时字符串,都可以看做是实现此类的实例
类String中也有许多简单方法
2.特点
1).字符串不变:字符串的值在创建后不能被更改
2).因为String对象不可改变.所有他们可以被共享
3).(底层是这么实现的)对String s1 赋值 "abc" 等效于char[] data = ['a','b','c']
3.构造举例(面试可能会问,)
// 无参构造
String str = new String();
// 通过字符数组构造
char chars[] = {'a','b','c'};
String str2 = new String(chars);
// 通过字节数组构造
byte b[] = {97,98,99};
String str3 = new String(b);
4.字符串的比较(面试的时候会问,结合String进行理解)
1. == 比较
1.对基本类型 这个东西 可以 比较基本类型 四类八种 (比较的是值是否相等)
2.对引用类型进行比较时, 则比较地址值
2.equals(String str)
内容相同 ,返回true
5.String 方法
(1)获取
equalsIgnoreCase(String str) 忽略大小写比较内容
int length() 返回字符串长度
String concat 将指定的字符串连接到该字符串的末尾
char charAt(int index) 返回指定索引处的char值
int indexOf(String str) 返回指定字符串第一次出现该字符串的位置(索引) 找到了就是对应的首次出现的索引,找不到就返回-1
String substring (int beginIndex) 返回一个字符串,从beginIndex开始截取字符串到最后
String substring (int beginIndex, int endIndex) 返回一个字符串,从beginIndex开始截取字符串
到endIndex截取字符串。 含beg 不含 end
(2)转换
1.String replace()
ex:
String str = "abbccd"
String newstr = str.replace('b','*')
System.out.println(newstr)
a**ccd
此处将含有b的全部替换成*了
String newstr = str.replace("bb","*")
运行结果为a*ccd
2.
char [] chars = toCharArray()转成字符数组
3.
byte[] getByte();使用平台默认的字符集将该String编码新的字节数组.
4. String[] split(String regex) ""\\."表示.转义一下
以 regex对字符串进行分割