老大爷

老大爷

好好滴写代码,不要想那么多,钱钱会有的

标签: jdk源码 (4)

jdk源码学习(一):万物皆对象,解密java中所有对象的父类Object

在java世界里,万物皆对象。所以Object类是所有类的根,
那么我们一起来看看java语言的设计者是如何设计这个伟大的父类的。

jdk源码:Integer.getChars(int i, int index, char[] buf)

应用:将整形数字转换成对应的十进制字符串

public static String toString(int i) {
    if (i == Integer.MIN_VALUE)
        return "-2147483648";
    int size = (i < 0) ? stringSize(-i) + 1 : stringSize(i);
    char[] buf = new char[size];
    getChars(i, size, buf);
    return new String(buf, true);
}

jdk源码:Integer.toUnsignedString0

应用:转换成对应进制的字符串
// 转换成二进制字符串
public static String toBinaryString(int i) {
return toUnsignedString0(i, 1);
}

jdk源码:Integer.numberOfLeadingZeros

public static int numberOfLeadingZeros(int i)
返回int类型32位补码值最左边出现的1之前的0的个数,如果是0因为没有1,就返回32
举个栗子: 10的补码为 0000 0000 0000 0000 0000 0000 0000 1010,则最左边1之前有28个0,所以此方法返回28.