黑马程序员技术交流社区

标题: java基础之常用-string类 [打印本页]

作者: 0416-孙磊    时间: 2015-5-7 20:09
标题: java基础之常用-string类
String
1、定义
        由字符组成的序列。
2、构造方法
        A:        String s = new String();
                -- 空字符序列
        B:        String s = new String(byte[] bys);
                -- 使用平台的默认字符集解码指定的 byte 数组,构造一个 String
        C:        String s = new String(byte[] bys, int index, int length);               
                -- 使用平台的默认字符集解码指定的 byte 数组,构造一个 String。从索引为 index 处开始,截取长度为 length
                如果参数 index 或者 length 超出数组范围,报出:java.lang.StringIndexOutOfBoundsException
        D:        String s = new String(char[] chs);
                -- 使用字符数组中包含的字符序列,构造一个 String
        E:        String s = new String(char[] chs, int index, int length);
                -- 使用字符数组中包含的字符序列,构造一个 String。从索引为 index 处开始,截取长度为 length
                如果参数 index 或者 length 超出数组范围,报出:java.lang.StringIndexOutOfBoundsException
        F:        String s = new String(String str);       
        G:        String s = "hello";
3、特点
        A:字符串一旦初始化就不可以改变。(注意:是指字符串在常量池中的值不可以改变,不是指引用。)
        B:面试题:
                        a:String s = new String("hello")String s = "hello"的区别。
                                第一种方式在内存中有两个对象。
                                第二种方式只有一个对象。
                        b:请写出结果:
                                String s1 = new String("hello");
                                String s2 = new String("hello");
                                System.out.println(s1==s2); // false
                                System.out.println(s1.equals(s2)); // true
                                String s3 = new String("hello");
                                String s4 = "hello";
                                System.out.println(s3==s4); // false
                                System.out.println(s3.equals(s4)); // true
                                String s5 = "hello";
                                String s6 = "hello";
                                System.out.println(s5==s6); // true
                                System.out.println(s5.equals(s6)); // true

       
4、成员方法
        A:判断功能
                boolean equals(Object obj)
                        -- 判断字符串的内容是否相同,区分大小写。
                boolean equalsIgnoreCase(String str)
                        -- 将此字符串与另一个字符串比较,忽略大小写。
                boolean contains(String str)
                        -- 判断字符串中是否包含指定的字符串
                boolean startsWith(String str)
                        -- 判断字符串是否是以指定的字符串开头
                boolean endsWith(String str)
                        -- 判断字符串是否是以指定的字符串结尾
                boolean isEmpty()
                        -- 判断字符串是不是空字符串。注意区分空字符串和null的区别:null是在堆内存中没有对象。



作者: yogkin    时间: 2015-5-7 21:48
你这是笔记啊~
作者: EnderDBluse    时间: 2015-5-7 21:57
还以为是来提问的呢。。。
作者: 爱如kongcheng    时间: 2015-5-7 23:17
很好,表扬一下




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2