黑马程序员技术交流社区

标题: String类 [打印本页]

作者: Dracove    时间: 2015-4-21 22:46
标题: String类
String类的概述和使用
        (1)多个字符组成的一串数据。
                其实它可以和字符数组进行相互转换。
        (2)构造方法:
                A:public String()
                B:public String(byte[] bytes)
                C:public String(byte[] bytes,int offset,int length)
                D:public String(char[] value)
                E:public String(char[] value,int offset,int count)
                F:public String(String original)
                下面的这一个虽然不是构造方法,但是结果也是一个字符串对象
                G:String s = "hello";
        (3)字符串的特点
                A:字符串一旦被赋值,就不能改变。
                        注意:这里指的是字符串的内容不能改变,而不是引用不能改变。
                B:字面值作为字符串对象和通过构造方法创建对象的不同
                        String s = new String("hello");和String s = "hello"的区别?
        (4)字符串的面试题(看程序写结果)
                A:==和equals()
                        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
                B:字符串的拼接
                        String s1 = "hello";
                        String s2 = "world";
                        String s3 = "helloworld";
                        System.out.println(s3 == s1 + s2);// false
                        System.out.println(s3.equals((s1 + s2)));// true

                        System.out.println(s3 == "hello" + "world");// false 这个我们错了,应该是true
                        System.out.println(s3.equals("hello" + "world"));// true
        (5)字符串的功能
                A:判断功能
                        boolean equals(Object obj)
                        boolean equalsIgnoreCase(String str)
                        boolean contains(String str)
                        boolean startsWith(String str)
                        boolean endsWith(String str)
                        boolean isEmpty()
                B:获取功能
                        int length()
                        char charAt(int index)
                        int indexOf(int ch)
                        int indexOf(String str)
                        int indexOf(int ch,int fromIndex)
                        int indexOf(String str,int fromIndex)
                        String substring(int start)
                        String substring(int start,int end)
                C:转换功能
                        byte[] getBytes()
                        char[] toCharArray()
                        static String valueOf(char[] chs)
                        static String valueOf(int i)
                        String toLowerCase()
                        String toUpperCase()
                        String concat(String str)
                D:其他功能
                        a:替换功能
                                String replace(char old,char new)
                                String replace(String old,String new)
                        b:去空格功能
                                String trim()
                        c:按字典比较功能
                                int compareTo(String str)
                                int compareToIgnoreCase(String str)


作者: fanxia_2007    时间: 2015-4-21 22:49
复习一下这些方法,谢谢分享!
作者: mxdeheima    时间: 2015-4-21 22:52
谢谢分享
作者: YQliang    时间: 2015-4-21 22:53
学习学习!
作者: itheima_llt    时间: 2015-4-21 23:27
楼主辛苦了,非常感谢!
作者: 莫里亚蒂    时间: 2015-4-21 23:36
谢谢你的分享,对我帮助很大
作者: 鸡脑壳    时间: 2015-4-21 23:41
复习了!谢谢
作者: itheima_llt    时间: 2015-4-22 00:16
真的很有用,谢谢啦!
作者: 1352107393    时间: 2015-4-22 18:24
学习一下,感谢楼主。
作者: 最好的我    时间: 2015-4-22 19:35
谢谢分享~




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