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:创建的字符串长度,即转换个数

 

posted on 2018-06-06 15:29  adamal  阅读(113)  评论(0)    收藏  举报