------- <a href="http://www.itheima.com"target="blank">android培训</a>、<a href="http://www.itheima.com"target="blank">java培训</a>、期待与您交流! ----------
String类
一.字符串构造方法举例:
1. string s = new String();
等同于string s= “ ”;
2. String s1 =”abc”;
注:字符串最大特点:若一旦被初始化就不可以被改变,存放在方法区中的常量池中。
二.String类常见方法:
2.1获取
2.2判断
代码举例:
2.3转换
(1)将字符数组或字节数组转换成字符串-------构造函数
如String(char[])
String(char[],offset,count)
举例:char[] arr={'a','b','c'};
Strings3 = new String(arr);
System.out.println("s="+s3);
(2) 将字符数组转成字符串-------String中的静态方法
static String copyValueOf(char[] );
static StringcopyValueOf(char[],int offset,int count);
static String valueOf(char[]);
static String valueOf(char[],int offset,intcount);
(3) 将基本数据类型或者对象转成字符串。
static String valueOf(char);
static String valueOf(boolean);
static String valueOf(double);
static String valueOf(float);
static String valueOf(int);
static String valueOf(long);
static String valueOf(Object);
(4) 将字符串转成字符(字节)数组
char[] toCharArray();//转成字符数组。
byte[] getBytes();//可以加入编码表。转成字节数组。
如:String s = “abc”;
char[] chs = s.toCharArray();
2.4替换
2.5切割
将字符串转成字符串数组。切割方法。
String[] split(String regex)(分割的规则-字符串);
如:
String s =”zhangsan,lisi.wangwu”;
String[] arr =s.split(“,”);
for(int x=0;x<arr.length();x++)
{System.out.println(arr[x]);
}
2.6获取子串
2.7大小写转换,取出空格,比较
(1) 将字符串转成大(小)写
String toUpperCase();
String toLowCase();
(2) 将字符串两端多个空格去掉
String trim();
(3) 对两个字符串进行自然顺序的比较
int compareTo(String s);
StringBuffer--------字符串缓冲区
特点:1.长度是可变化的
2可以直接操作多个数据类型
3.最终需要通过toString方法变成字符串
4.是一个容器
5.可以对字符串内容进行修改
因为StringBuffer本质上是个容器,所以它具备一些固定的方法
增删查改
1.添加
StringBuffer append(data):在缓冲区中追加数据。追加到尾部。
StringBuffer insert(index,data):在指定位置插入数据。
2.删除
StringBuffer delete(start,end);删除从start至end-1范围的元素
StringBuffer deleteCharAt(index);删除指定位置的元素
delete(0,sb.length());//清空缓冲区中全部数据。
注意到,添加和删除操作返回值类型都多为StringBuffer类型,这里可以形象化为 面盆理论,即操作该字符串缓冲区中数据后返回的还是该集合。
比如:StringBuffer sb = newStringBuffer();
sb.append(“abc”).append(true).append(34);//操作的都是sb这个对象
3.查找(查不到返回-1)
int indexOf(Stringstr); 返回指定子字符串在此字符串中第一次出现处的索引。
int indexOf(String,int fromIndex);从指定位置开始查找字符串
int lastIndexOf(String); 返回指定子字符串在此字符串中最右边出现处的索引。
int lastIndexOf(String,int fromIndex); 从指定的索引开始反向搜索
4.修改
StringBuffer replace(start,end,string);将start至end-1替换成string
void setCharAt(index,char);替换指定位置的字符
void setLength(len);将原字符串置为指定长度的字符串
5.获取子串。
string subString(start); 返回start到结尾的子串
string subString(start,end); 返回start至end-1的子串
6.反转。
StringBuffer reverse();字符串反转
StringBuilder--------字符串缓冲区
用作 StringBuffer
的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。
如果可能,建议优先采用该类,因为在大多数实现中,它比StringBuffer
要快。
Jdk1.5版本之后出现
StringBuffer与StringBuilder比较:
StringBuffer线程同步,安全
StringBuilder线程不同步,不安全
多线程用StringBuffer
单线程用StringBuilder
方法可参考StringBuffer
基本数据类型对象包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
其最常见的应用是用于基本数据类型和字符串类型之间
转换
1. 基本数据类型转换成字符串
方式一:基本数据类型+” ”
方式二:基本数据类型类.toString(基本数据类型值)
2. 字符串转换成基本数据类型
类名调用方式:如:int a = Integer.parseInt(“12”);
boolean b = Boolean.parseBoolean(“true”);
对象调用方式:如:Integer I = new Integer(“123”);
int num = i.intValue();