java内置类(Integer、Double、Float、Boolean等)

摘录并整理自:Java内置的包装类

1. Object

  • Object 是 Java 类库中的一个特殊类,也是所有类的父类。当一个类被定义后,如果没有指定继承的父类,那么默认父类就是 Object 类。因此,以下两个类是等价的。
    即:
    public class MyClass{…}
    等价于public class MyClass extends Object {…}
  • 由于所有类都是由Object类派生而出来的,因此Object中定义的方法,在其它类中都可以使用,常见方法有:


    image.png

1.1 equals()方法

equals() 方法的作用与"="运算符类似,''=''用于值与值的比较和值与对象的比较,而 equals() 方法用于对象与对象之间的比较
boolean result=obj.equals(Object o);

1.2 getClass()方法

getClass() 方法返回对象所属的类,是一个 Class 对象。通过 Class 对象可以获取该类的各种信息,包括类名、父类以及它所实现接口的名字等。
例如:
:

public static void main(String[] args) throws ParseException {
        String obj = new String();
        System.out.println("类:"+obj.getClass());
        //获取类名
        System.out.println("类名:"+obj.getClass().getName());
        //获取父类名
        System.out.println("父类:"+obj.getClass().getSuperclass().getName());
        System.out.println("实现的接口有:");
        //获取实现的接口并输出
        for(int i=0;i<obj.getClass().getInterfaces().length;i++)
        {
            System.out.println(obj.getClass().getInterfaces()[i]);
        }

    }
类:class java.lang.String
类名:java.lang.String
父类:java.lang.Object
实现的接口有:
interface java.io.Serializable
interface java.lang.Comparable
interface java.lang.CharSequence

2. Integer包装了基本类型的值,提供了int、string转换的方法

  • 构造方法:
public Integer(int value) {
        this.value = value;
    }
public Integer(String s) throws NumberFormatException {
        this.value = parseInt(s, 10);
    }
  • 我们发现Integer(String s)调用了parseInt()函数,某人为十进制数字
  • Integer类的常用方法


    image.png

    这里看一下valueOf()函数,有两个函数

public static Integer valueOf(String s)
public static Integer valueOf(String s, int radix)
public static Integer valueOf(int i)

我们可以分别可以通过string、int类型来获取Integer类型

2.1 同时可以通过Integer将int转换成二进制、八进制、十六进制的string形式

public static void main(String[] args) throws ParseException {
        int num=40;
        String str=Integer.toString(num);    // 将数字转换成字符串
        String str1=Integer.toBinaryString(num); // 将数字转换成二进制
        String str2=Integer.toHexString(num);    // 将数字转换成八进制
        String str3=Integer.toOctalString(num);    // 将数字转换成十六进制
        System.out.println(str+"的二进制数是:"+str1);
        System.out.println(str+"的八进制数是:"+str3);
        System.out.println(str+"的十进制数是;"+str);
        System.out.println(str+"的十六进制数是:"+str2);

    }
40的二进制数是:101000
40的八进制数是:50
40的十进制数是;40
40的十六进制数是:28

2.2 Integer常量

常用常量有:

  • MAX_VALUE:值为 231-1 的常量,它表示 int 类型能够表示的最大值。
  • MIN_VALUE:值为 -231 的常量,它表示 int 类型能够表示的最小值。
  • SIZE:用来以二进制补码形式表示 int 值的比特位数。
  • TYPE:表示基本类型 int 的 Class 实例。
public static void main(String[] args) throws ParseException {
        System.out.println(Integer.MAX_VALUE);   //获取 int 类型可取的最大值
        System.out.println(Integer.MIN_VALUE);    // 获取 int 类型可取的最小值
        System.out.println(Integer.SIZE);   // 获取 int 类型的二进制位
        Class c = Integer.TYPE;
        System.out.println(Integer.TYPE);    // 获取基本类型 int 的 Class 实例
    }
2147483647
-2147483648
32
int

3. Float类

3.1 构造函数

public Float(float value) {
        this.value = value;
    }
public Float(double value) {
        this.value = (float)value;
    }
public Float(String s) throws NumberFormatException {
        value = parseFloat(s);
    }

3.2 Float类常用方法

image.png
  • 和Integer一样,其valueOf()函数都能以float和string作为参数
public static Float valueOf(String s) throws NumberFormatException {
        return new Float(parseFloat(s));
    }
public static Float valueOf(float f) {
        return new Float(f);
    }

3.3 Float常用常量

除了和Integer同样拥有的四个常用常量外,还有一些常用常量

  • MAX_EXPONENT:有限 float 变量可能具有的最大指数。
  • MIN_EXPONENT:标准化 float 变量可能具有的最小指数。
  • MIN_NORMAL:保存 float 类型数值的最小标准值的常量,即 2-126。
  • NaN:保存 float 类型的非数字值的常量。
public static void main(String[] args) throws ParseException {
        System.out.println(Float.MAX_EXPONENT);   //获取 float 类型可取的最大值
        System.out.println(Float.MIN_EXPONENT);    //获取 float 类型可取的最小值
        System.out.println(Float.MIN_NORMAL);    //获取 float 类型可取的最小标准值
        System.out.println(Float.SIZE);    //获取 float 类型的二进制位
        System.out.println(Float.NaN);

    }
127
-126
1.17549435E-38
32
NaN

4. Double类

4.1 构造方法

public Double(double value) {
        this.value = value;
    }
public Double(String s) throws NumberFormatException {
        value = parseDouble(s);
    }

4.2 Double的常用方法

image.png

对于value()通常重载为double和string类型

public static Double valueOf(String s) throws NumberFormatException {
        return new Double(parseDouble(s));
    }
public static Double valueOf(double d) {
        return new Double(d);
    }

4.3 Double的常用常量

  • MAX_VALUE:值为 1.8E308 的常量,它表示 double 类型的最大正有限值的常量。
  • MIN_VALUE:值为 4.9E-324 的常量,它表示 double 类型数据能够保持的最小正非零值的常量。 //1.7976931348623157E308
  • NaN:保存 double 类型的非数字值的常量。
  • NEGATIVE_INFINITY:保持 double 类型的负无穷大的常量。
  • POSITIVE_INFINITY:保持 double 类型的正无穷大的常量。
  • SIZE:用秦以二进制补码形式表示 double 值的比特位数。
  • TYPE:表示基本类型 double 的 Class 实例。

5. Number类

  • Number 是一个抽象类,也是一个超类(即父类)。Number 类属于 java.lang 包,所有的包装类(如 Double、Float、Byte、Short、Integer 以及 Long)都是抽象类 Number 的子类。
  • Number 类定义了一些抽象方法,以各种不同数字格式返回对象的值。如 xxxValue() 方法,它将 Number 对象转换为 xxx 数据类型的值并返回,其中 doubleValue() 方法返回 double 类型的值,floatValue() 方法返回 float 类型的值。

6. Character类

  • Character 类是字符数据类型 char 的包装类。Character 类的对象包含类型为 char 的单个字段,这样能把基本数据类型当对象来处理

6.1 Character 的常用方法

image.png
  • 注意:后面的判断类型和转换大小写函数是public static
public static void main(String[] args) {
        System.out.println(Character.isLetter('1')); //false
        System.out.println(Character.isDigit('a')); //false
        System.out.println(Character.isLetterOrDigit('a')); //true
        System.out.println(Character.toLowerCase('A')); // a
        System.out.println(Character.toUpperCase('a'));// A
    }

7. Boolean类

7.1. 构造函数

public Boolean(boolean value) {
        this.value = value;
    }
public Boolean(String s) {
        this(parseBoolean(s));
    }

其中 boolValue 必须是 true 或 false(不区分大小写),boolString 包含字符串 true(不区分大小写)

7.2 Boolean的常用方法

image.png
  • valueOf()函数通过重载string类型和boolean类型

8. Byte类

8.1 构造函数

public Byte(byte value) {
        this.value = value;
    }
public Byte(String s) throws NumberFormatException {
        this.value = parseByte(s, 10);
    }

8.2 常用函数

image.png
public static Byte valueOf(String s) throws NumberFormatException {
        return valueOf(s, 10);
    }
public static Byte valueOf(String s, int radix)
        throws NumberFormatException {
        return valueOf(parseByte(s, radix));
    }
public static Byte valueOf(byte b) {
        final int offset = 128;
        return ByteCache.cache[(int)b + offset];
    }

8.3 常用常量

  • MIN_VALUE:byte 类可取的最小值。
  • MAX_VALUE:byte 类可取的最大值。
  • SIZE:用于以二进制补码形式表示的 byte 值的位数。
  • TYPE:表示基本类 byte 的 Class 实例。
public static void main(String[] args) {
        System.out.println(Byte.MAX_VALUE);   //获取 int 类型可取的最大值   
        System.out.println(Byte.MIN_VALUE);    // 获取 int 类型可取的最小值
        System.out.println(Byte.SIZE);   // 获取 int 类型的二进制位
        Class c = Byte.TYPE;
        System.out.println(Byte.TYPE);    // 获取基本类型 int 的 Class 实例
    }
127
-128
8
byte

9.System类

  • System 类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于 java. lang 包。由于该类的构造方法是 private 的,所以无法创建该类的对象,也就是无法实例化该类。
    System 类内部的成员变量和成员方法都是 static 的,所以可以方便地进行调用。

9.1 System成员变量

System 类有 3 个静态成员变量,分别是 PrintStream out、InputStream in 和 PrintStream err。

9.2 System类成员方法

  • arraycopy方法
public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)
  • currentTimeMillis() 方法
    该方法的作用是返回当前的计算机时间,时间的格式为当前计算机时间与 GMT 时间(格林尼治时间)1970 年 1 月 1 日 0 时 0 分 0 秒所差的毫秒数,例如:
public static native long currentTimeMillis();
  • exit()方法
    该方法的作用是终止当前正在运行的 Java 虚拟机,具体的定义格式如下
public static void exit(int status)

其中,status 的值为 0 时表示正常退出,非零时表示异常退出。使用该方法可以在图形界面编程中实现程序的退出功能等。

  • gc() 方法
    该方法的作用是请求系统进行垃圾回收。至于系统是否立刻回收,取决于系统中垃圾回收算法的实现以及系统执行时的情况。定义如下:
1.  public static void gc()
  • getProperty() 方法
    该方法的作用是获得系统中属性名为 key 的属性对应的值,具体的定义如下:
public static String getProperty(String key)

常见属性信息如下:


image.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,752评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,100评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,244评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,099评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,210评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,307评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,346评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,133评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,546评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,849评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,019评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,702评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,331评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,030评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,260评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,871评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,898评论 2 351

推荐阅读更多精彩内容