关于Object类和String

Object类是所有类的父类

    public int hashCode():返回对象的哈希值,即根据哈希算法由地址值换算出的一个int值

    final Class getClass():返回此Object的运行时类 

    String  toString():返回该对象的字符串表示(原始值为getClass().getName+@+Integer.toHexString(hashCode()))

     boolean equals(Object):比较对象

    protected void finalize():垃圾回收

    protected Object clone():克隆

通常来说,如果你需要比较两个对象,则需要重写 equals()方法

如果你需要输出对象,那么默认输出的就是该类的toString(),原来的toString没有意义,所以要重写

String类介绍

String是不可变的字符串。这里说的不可变指的是一旦被赋值,那么栈中所储存的那个空间里的那个值就不会被改变,如果改变则需要另开空间。

   这里引进一种概念,即所有的字符串赋值都是从字符串常量池中取,没有则创造,如果有就用这一个。

   且字符串如果是变量相加,就先开空间在拼接,如果是常量相加,就先相加,再在常量池中找,有则返回,否则就创建。

至于String中的方法,太多了,自己下个API慢慢看吧。

StringBuffer

    在我看来,StringBuffer就像String的兄弟,或者是说String的进化版,是一个带了字符缓冲池和一些方法的String。

    StringBuffer是线程安全的可变字符串。使用StringBuffer进行字符串的拼接可以节省资源。

StringBuilder

  和StringBuffer很像,不过不同步,数据不安全。

 

 


这里记录几个有意思的方法:

其他进制到十进制:public static int parseInt(String s,int radix);

由十进制改为0~36的其他进制:Integer.toString(数字,进制);

 

 

 

 

 

 

 

你可能感兴趣的:(关于Object类和String)