黑马程序员技术交流社区

标题: 关于API的一些总结 [打印本页]

作者: liaoguanglin    时间: 2016-9-7 22:51
标题: 关于API的一些总结

                Object类
                                Object所有类的父类,所有类都直接或间接的继承自该类
                                getClass()
                                                        获取类的字节码文件的方法
                                toString()方法
                                                                更加方便的显示属性值

                                equals()方法
                                                        主要为了比较对象中的属性值

                                ==跟equals的区别
                                                                ==:比较运算符,既可以比较基本数据类型,也可以比较引用数据类型,
                                                                比较基本数据类型,比较的是值,比较引用数据类型比较的地址值
                                                                equals:他是一个方法,只能比较引用数据类型,在没有重写equals方法
                                                                之前,属于Object中,底层用==号来实现的。重写equals之后,比较就是
                                                                对象中属性值


                String类
                                被final修饰,这个类不能被继承。通过String类创建出来的都是一个个的对象
                                一旦初始化就不能被改变。长度不能被改变

                                1.判断定义为String类型的s1和s2是否相等
                                        String s1 = "abc";
                                        String s2 = "abc";
                                        System.out.println(s1 == s2);                                        
                                        System.out.println(s1.equals(s2));                
                                2.下面这句话在内存中创建了几个对象?
                                        String s1 = new String("abc");       
                                        //new String()在堆内存中的创建出来的实体,里边存的是常量池中的地址值
                                3.判断定义为String类型的s1和s2是否相等
                                        String s1 = new String("abc");                       
                                        String s2 = "abc";
                                        System.out.println(s1 == s2);               
                                        System.out.println(s1.equals(s2));
                                4.判断定义为String类型的s1和s2是否相等
                                        String s1 = "a" + "b" + "c";
                                        String s2 = "abc";
                                        System.out.println(s1 == s2); //常量优化机制 byte b = 3 + 4;               
                                        System.out.println(s1.equals(s2));
                                5.判断定义为String类型的s1和s2是否相等
                                        String s1 = "ab";
                                        String s2 = "abc";
                                        String s3 = s1 + "c";
                                        System.out.println(s3 == s2);
                                        System.out.println(s3.equals(s2));


                StringBuffer类
                                长度是可变的。底层也是用数组来做的。线程是安全的。效率低

                                 String,StringBuffer,StringBuilder的区别
                                                String长度不可变的。创建出来的出来对象,String类被final修饰,是一个字面值常量
                                                StringBuffer线程安全的,效率低。长度是可变的。
                                                StringBuilder线程不安全的。效率高                                       

                                 基本数据类型包装类
                                                                        int —— Integer
                                                                        char —— Character
                                                                        Character类里边没有ParseXxx的方法,因为字符串转换成字符的话
                                                                        字符首先承载不了,一个char中只能存放单个字符。
                                                                        要将字符串转换成字符的话,用toCharArray()

                                 自动装箱
                                                Integer i = 100;
                                                用一个基本数据类型去给引用数据类型赋值,说明是自动装箱

                                 自动拆箱
                                                int a = i + 100;
                                                用一个引用数据类型去跟基本数据类型进行运算,说明是自动拆箱

                                        Integer i1 = new Integer(97);
                                        Integer i2 = new Integer(97);
                                        System.out.println(i1 == i2);
                                        System.out.println(i1.equals(i2));                                                       
                                        System.out.println("-----------");
                               
                                        Integer i3 = new Integer(197);
                                        Integer i4 = new Integer(197);
                                        System.out.println(i3 == i4);                               
                                        System.out.println(i3.equals(i4));                       
                                        System.out.println("-----------");
                               
                                        Integer i5 = 87;
                                        Integer i6 = 87;
                                        System.out.println(i5 == i6);                               
                                        System.out.println(i5.equals(i6));                       
                                        System.out.println("-----------");
                                        //因为常量池中,维护了一个数组,取值范围在-128~127之间,就不会在重新创建
                                        //对象了。直接从常量池取。
                               
                                        Integer i7 = 128;
                                        Integer i8 = 128;
                                        System.out.println(i7 == i8);
                                        System.out.println(i7.equals(i8));       


                [abc] 中括号中只能存放的是单个字符
                ^     相当于是非,取反
                &&    取交集
               
                预定义字符类
                                        \\d 数字 0-9
                                        \\D 非数字 除了0-9
                                        \\s 空格 \r\n\t
                                        \\S 非空格
                                        \\w 单词字符 字母数字下划线
                                        \\W 非单词字符

作者: 江月念华    时间: 2016-9-9 23:48
总结的挺好的,有空我也总结下
作者: Menger_    时间: 2016-9-12 22:14
学习了 就是要多总结才能进步
作者: 磊哥哥    时间: 2016-9-28 20:53
不断的总结不断的提高
作者: yu244934256    时间: 2016-9-30 23:06
这样刷,真的好么
作者: yu244934256    时间: 2016-10-9 01:31
你又让我复习了一遍
作者: zhangchangzhi    时间: 2016-10-9 09:37
多总结,这个方法不错··············
作者: 袁志娜    时间: 2016-10-9 21:27
{:3_46:}{:3_46:}{:3_46:}
作者: 逃跑的鱼闯天涯    时间: 2016-10-21 00:13
突然发现只有慢慢学才能记得住,之前囫囵吞枣,好多都没记住,没总结也不会




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