美文网首页
JAVA之常用API

JAVA之常用API

作者: 续笙 | 来源:发表于2018-02-12 21:41 被阅读0次

    (1)equals方法比较内存地址

            * a: Object类中的equals方法

    * 用于比较两个对象是否相同,Object类中就是使用两个对象的内存地址在比较。  * Object类中的equals方法内部使用的就是==比较运算符。

    (2): 重写equals方法

      * a: 开发中要比较两个对象是否相同,经常会根据对象中的属性值进行比较              * b: 在开发经常需要子类重写equals方法根据对象的属性值进行比较。                    * c: ==号和equals方法的区别                   * ==是一个比较运算符号,既可以比较基本数据类型,也可以比较引用数据类型,基本数据类型比较的是值,引用数据类型比较的是地址值  * equals方法是一个方法,只能比较引用数据类型,所有的对象都会继承Object类中的方法,如果没有重写Object类中的equals方法, equals方法和==号比较引用数据类型无区别,重写后的equals方法比较的是对象中的属性

    (3) 重写toString方法

            * a: 为什么要重写toString方法 * toString方法返回该对象的字符串表示,其实该字符串内容就是对象的类型+@+内存地址值。                                                             * 由于toString方法返回的结果是内存地址,而在开发中,经常需要按照对象的属性得到相应的字符串表现形式,因此也需要重写它。                                                     * Object类中的toString的核心代码       getClass().getName() + "@" + Integer.toHexString(hashCode())                                      * 由于默认情况下的数据对我们来说没有意义,一般建议重写该方法。

    (4) String类的概念和不变性                     * a:String类                                                  * API中的String类的描述,发现String 类代1表字符串                                             * Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。     * 字符串是常量,在创建之后不能更改       * 其实就是说一旦这个字符串确定了,那么就会在内存区域中就生成了这个字符串。字符串本身不能改变,但str变量中记录的地址值是可以改变的。                                        * 源码分析,String类底层采用的是字符数组:

                    private final char value[]

                    private 修饰说明value只能在String类内部使用,而且又没有提供get方法,所以外部无法获取value数组,就无法改变数组中元素的值

                    final修饰说明value是常量,一旦创建,就不能被改变,value一旦被初始化成某个数组,将永远指向这个数组,不可能再指向其它的数组了

    (5) String类创建方式和比较

            * a: 创建对象的数量比较

                * String s3 = "abc";

    * 在内存中只有一个对象。这个对象在字符串常量池中                                                          * String s4 = new String("abc");                      * 在内存中有两个对象。一个new的对象在堆中,一个字符串本身对象,在字符串常量池中

    (6) A:String类的其他方法

            * a: 方法介绍

                * int length(): 返回字符串的长度

                * String substring(int beginIndex,int endIndex): 获取字符串的一部分

                * String substring(int beginIndex): 获取字符串的一部分

                * boolean startsWith(String prefix): 判断一个字符串是不是另一个字符串的前缀,开头

                * boolean endsWith(String prefix): 判断一个字符串是不是另一个字符串的后缀,结尾

                * boolean contains (String s): 判断一个字符串中,是否包含另一个字符串

                * int indexOf(char ch):  查找一个字符,在字符串中第一次出现的索引,被查找的字符不存在,返回-1

                * byte[] getBytes(): 将字符串转成字节数组,此功能和String构造方法相反,byte数组相关的功能,查询编码表

                * char[] toCharArray(): 将字符串转成字符数组,功能和构造方法相反

                * boolean equals(Object obj): 方法传递字符串,判断字符串中的字符是否完全相同,如果完全相同返回true

                * boolean equalsIgnoreCase(String s): 传递字符串,判断字符串中的字符是否相同,忽略大小写           

                   

    相关文章

      网友评论

          本文标题:JAVA之常用API

          本文链接:https://www.haomeiwen.com/subject/bvudtftx.html