JAVA常用API:String类
String类代表字符串,JAVA程序中所有字符串字面值如“abc"都作为此类的实例实现
1. 字符串是常量,一旦创建便不可修改。
2. 字符串也是字符char的数组
String str = "acb";也相当于char[] str ={'a','b','c'};
3. String 字符串对象创建可以new,也可以不new
既然String 对象是一个对象,那么打印字符串不是内存地址呢?
默认System.out.println(obj);都默认调用toString()方法即
System.out.println(obj.tostring());
但String对象重写过tostring方法
4. 如何理解字符串是常量?

5. String str1 = new String("abc");
String str2 = "abc";
str1==str2 --->false, 内存地址的比较,当然为false
str1.equals(str2)-->true; String类重写了Object类的equals方法,比较的是字符串中每个字符是否相同,故为true.
6. 字符串对象的创建方式
String str = "abc";
String str = new String("abc");
String str = String(byte[] bytes); //构造方法,传入byte数组,ascii码转码成字符
String str = String(char[]);//构造方法,传入char数组,直接拼装
7. String 的构造方法
空参构造方法
String();
String(byte[] bytes); -128 ~127
byte[] bytes = {97,98,99,100};
String st = new String(bytes);
结果:abcd
将字节数组中的每个数去查ASCII表,输出对应符号。(汉字的字符编码是负数,一个汉字占两个字节)
String(byte[] bytes,int offset,int length);
将字节数组的一部分转码创建成字符串
int offset: 起始索引
int length: 字符串长度
如:
byte[] bytes ={65,66,67,68,69};
String str = new String(bytes,1,3);
输出:BCD
String(char[] ch);
将字符char数组重新创建成一个字符串
char[] ch = {'a','b','c'};
String str = new String(ch);
输出:abc
String(char[] ch,int offset,int count);
将字符数组的一部分重新创建成一个字符串
char[] ch:字符数组
int offset:起始索引
int count:创建的字符串长度,即转换个数
浙公网安备 33010602011771号