这篇博文并不会全面的介绍Java的面向对象,很多知识模块我认为弄清楚其中一部分,其他都大同小异的,我都没有提。所以一个大标题下,介绍的组件并不全面。
1 Object
是所有类的父类,它的每一个方法都很重要。
2 包装类
先说一说有共性的东西:
- 自动装箱、拆箱:基本数据类型和对应的包装类可以相互赋值。
- 所有的类都有toString方法,它的一般作用是“自我表述”。
- 除了Character之外,其余的包装类都可以用字符串创建对象。
- == 判断的是引用变量所指向的对象是不是同一个;equals才是判断数值是否相等。除了基础类型,不用用==判断是否相等。
- equals由于是Object类的方法,所以基本上什么类都可以用。但是compareTo并不被广泛实现。而且compareTo返回的是字典顺序,通过做差来判断,用于排序。如果你只是想知道两个变量是否相等,而不关心先后顺序,equals的效率也要高一些。
- new String(“Hello”) 叫做 通过字符常量创建字符串。如果“Hello”是在软件中第一次出现,那么JVM会在常量池中新建一个“Hello”字符串,然后由于你new了一个String,所以JVN又会在堆内存中创建一个字符串,从而一下产生了两个字符串。
- Comparable接口:此接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序,类的 compareTo 方法被称为它的自然比较方法。实现此接口的对象列表(和数组)可以通过 Collections.sort(和 Arrays.sort)进行自动排序。实现此接口的对象可以用作有序映射中的键或有序集合中的元素,无需指定比较器。
2.1 Double
static long doubleToLongBits(double value)
根据 IEEE 754 浮点双精度格式 ("double format") 位布局,返回指定浮点值的表示形式。
static double longBitsToDouble(long bits)
返回对应于给定位表示形式的 double 值。
static String toHexString(double d)
返回 double 参数的十六进制字符串表示形式。
Float类似
1.2 Integer
static int bitCount(int i)
返回指定 int 值的二进制补码表示形式的 1 位的数量。
byte byteValue()
以 byte 类型返回该 Integer 的值。
static int signum(int i)
返回指定 int 值的符号函数。
static String toBinaryString(int i)
以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。
static String toHexString(int i)
以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。
static String toOctalString(int i)
以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。
Short,Long类似