Java中基本数据的包装类

  java中基本数据类型的包装类有:Character、Boolean、Byte、Short、Integer、Long、Float和Double。

          基本数据类型:char、   boolean、  byte、short、 int 、   long、   float、 double

  这些包装类位于java.lang包中,包装类可以将基本的数据类型当作对象处理。

1. Character类

  Character character = new Character(‘a‘);    //创建一个Character对象

Character类中的一些字符处理方法,大多数是静态方法:

  Character(value : char)      --使用char值构建一个字符对象

  charValue(): char         --返回对象的char值

  compareTo(another character:Character): int      --与其他字符做比较

  equals(another character:Character) :boolean     --如果该字符等于其他字符则返回true

  isDigit(ch:char):boolean      --如果该字符是数字则返回true

  isLetter(ch:char):boolean     --如果该字符是字母则返回true

  isLetterOrDigit(ch:char):boolean      --如果该字符是字母或数字则返回true

  isLowerCase(ch:char):boolean      --如果该字符是小写字母则返回true

  isUpperCase(ch:char):boolean      --如果该字符是大写字母则返回true

  toLowerCase(ch:char):char        --返回指定字母的小写字母

  toUpperCase(ch:char):char        --返回指定字母的大写字母

2.数值包装类

  数值包装类扩展于抽象类Number,Number类包含有doubleValue()、floatValue()、intValue()、longValue()、shortValue()和byteValue()方法,通过这些方法可以返回对象的基本类型值。并且每个类都覆盖了Object类中的toString()和equals()方法,另外都实现了Comparable接口,compareTo方法。

  · 可以使用基本数据类型或者表示数值的字符串来构造包装类:

new Double(5.0); //使用基本数据
new Double("5.0");  //使用字符串

new Integer(5);
new Integer("5");

  · 包装类没有无参构造方法。所有包装类的实例都是不可变的,一旦创建对象后,它们的内在值就不能改变。

  · 每一个包装类都有常量MAX_VALUE和MIN_VALUE。MAX_VALUE分别表示基本数据类型的最大值。对于Byte、Short、Integer、Long,MIN_VALUE就是对应的最小值。对于Float和Double,MIN_VALUE就是float和double的最小正值。

  ·数值包装类中的静态方法:valueOf(String s),该方法创建一个新的对象,并将其初始化为指定字符串表示的值。

1 Double doubleObject = Double.valueOf("1.4");
2 Integer integerObject = Integer.valueOf("12");

  · Integer类中的parseInt方法将一个数值字符串转换成一个int值,Double类中的parseDouble将一个数值字符串转换成一个Double值。

  · 每个包装类都有两个重载额方法,将数值字符串转换成正确的以10(十进制)或者指定的其他进制的数值:

 1 public static byte parseByte(String s)
 2 public static byte parseByte(String s, int radix)
 3
 4 public static short parseShort(String s)
 5 public static short parseShort(String s, int radix)
 6
 7 public static int parseInt(String s)
 8 public static int parseInt(String s, int radix)
 9
10 public static long parseLong(String s)
11 public static long parseLong(String s, int radix)
12
13 public static float parseFloat(String s)
14 public static float parseFloat(String s, int radix)
15
16 public static double parseDouble(String s)
17 public static double parseDouble(String s, int radix)

基本类型与包装类型的自动转换

  将基本数据类型转换成包装类对象的过程称为装箱(boxing),相反的过程称为开箱(unboxing).

  Integer intObject = new Integer(2);    等价于:  Integer intObject = 2;   --自动装箱

  Integer[] int Array = {1,2,3};

  System.out.println(intArray[0] + intArray[1] +intArray[2] );   --自动开箱。将intArray中的对象转为数值后相加,打印输出。

3.BigInteger和BigDecimal类

  BigInteger和BigDecimal类是为了实现非常大的数或者高精度浮点数的运算而存在的。

  BigInteger的实例可以表示任意大小的整数,可以使用new BigInteger(String)和new BigDecimal(String)类创建BigInteger和BigDecimal类的实例。使用add、subtract、multiple、divide和remainder方法完成算术运算。

  BigDecimal对象的精度没有限制。如果结果不能终止,那么divide方法会抛出一个ArithmeticException异常。可以使用重载的divide(BigDecimal d, int scale, int roundingMode)方法来指定尺度和舍入方法来避免这个异常。scale是指小数点后最小的整数位数。

时间: 2024-08-29 02:28:56

Java中基本数据的包装类的相关文章

java中String、包装类、枚举类的引用传递

一般情况下,我们认为Java中了除了八种基本数据类型,其他都是对象,进行引用传递: 但是:String.包装类.枚举类作为参数传递后发现,没有达到引用传递的效果,很多人认为它是值传递! 首先,对象肯定是引用传递,为何这三类没有达到引用传递的效果呢? 以包装类Boolean为例: 会发现: 1.Boolean的值都是static.final的,说白了就是不能修改的 2.没有修改值得setter方法 因此,从表象看:枚举值都是值传递(传递副本),根本原因是被限制修改.... 原文地址:https:/

Java基础(35):装箱与拆箱---Java 中基本类型和包装类之间的转换

基本类型和包装类之间经常需要互相转换,以 Integer 为例(其他几个包装类的操作雷同哦): 在 JDK1.5 引入自动装箱和拆箱的机制后,包装类和基本类型之间的转换就更加轻松便利了. 那什么是装箱和拆箱呢?我们分别来看下 装箱:把基本类型转换成包装类,使其具有对象的性质,又可分为手动装箱和自动装箱 拆箱:和装箱相反,把包装类对象转换成基本类型的值,又可分为手动拆箱和自动拆箱 下面的代码的例子演示了装箱与拆箱的过程: 结果为: 1 public class HelloWorld { 2 pub

Java 中必的常用类(很实用)

Java中必须了解的常用类 一.包装类 相信各位小伙伴们对基本数据类型都非常熟悉,例如 int.float.double.boolean.char 等.基本数据类型是不具备对象的特性的,比如基本类型不能调用方法.功能简单...,为了让基本数据类型也具备对象的特性, Java 为每个基本数据类型都提供了一个包装类,这样我们就可以像操作对象那样来操作基本数据类型. 基本类型和包装类之间的对应关系: 注意:有两个包装类的名称比较特殊一个是Integer,另一个是Character,其他都是基本数据类首

java 中的常用类

Java 中的包装类 相信各位小伙伴们对基本数据类型都非常熟悉,例如 int.float.double.boolean.char 等. 基本数据类型是不具备对象的特性的,比如基本类型不能调用方法.功能简单..., 为了让基本数据类型也具备对象的特性, Java 为每个基本数据类型都提供了一个包装类,这样我们就可以像操作对象那样来操作基本数据类型. 包装类主要提供了两大类方法: 1. 将本类型和其他基本类型进行转换的方法 2. 将字符串和本类型及包装类互相转换的方法 Integer 常用的方法 p

java中必须了解的常用类

java中的包装类 为何有包装类的出现? 基本数据类型不具备对象的特性的,比如基本类型不能调用方法.功能简单. 为了让基本数据类型也具备对象的特性, Java 为每个基本数据类型都提供了一个包装类,这样就可以像操作对象那样来操作基本数据类型. 每个基本类型都有相对应的包装类: 包装类主要提供了两大类方法: 将本类型和其他基本类型进行转换的方法. 将字符串和本类型及包装类互相转换的方法 下面看一个例子: public class HelloWorld { public static void ma

在Java中String类为什么要设计成final?String真的不可变吗?其他基本类型的包装类也是不可变的吗?

最近突然被问到String为什么被设计为不可变,当时有点懵,这个问题一直像bug一样存在,竟然没有发现,没有思考到,在此总结一下. 1.String的不可变String类被final修饰,是不可继承和修改的.当一个String变量被第二次赋值时,不是在原有内存地址上修改数据,而是在内存中重新开辟一块内存地址,并指向新地址. String类为什么要被设计为是final的? 1.不可变性支持线程安全. 2.不可变性支持字符串常量池,提升性能. 3.String字符串作为最常用数据类型之一,不可变防止

关于Java中的基本数据类型转换

Java中的基本类型有四种,其中整型分为byte.short.int.long,浮点型分为float.double,字符型char,布尔型boolean.8种类型的级别由低到高byte->short/char->int->long->float->double. Java中的基本数据类型转换分为隐式类型转换(自动类型转换)和显式类型转换(强制类型转换). 隐式类型转换是将一个较低级别的值或变量赋给一个较高级别的变量,在这种情况下,Java会自动地将较低级别的变量或值转换成与较

别说你不知道java中的包装类,wrapper type,以及容易在自动拆箱中出现的问题

很多时候,会有人问你,你知道什么是包装类吗? 或者高端一点问你你知道,wrapper type,是什么吗? 然后你就懵逼了,学了java很多时候都不知道这是啥. 其实问你的人,可能只是想问你,java面向对象你理解的怎么样. 在java中很多时候我们都说一切皆对象. 但是int,double,总有几个特例告诉你,他不是对象. 但是很多时候我们需要对象,而不是int,但是需要像int一样的对象. 举个例子就是,你需要在List中使用int,但是List只能放对象.类似的问题还有很多哦. 于是jav

java中Integer包装类的详细讲解(java二进制操作,所有进制转换)

程序员都很懒,你懂的! 今天为大家分享的是Integer这个包装类.在现实开发中,我们往往需要操作Integer,或者各种进制的转换等等.我今天就为大家详细讲解一下Integer的使用吧.看代码: package com.herman.test; public class IntegerTest { public static void main(String[] args) { System.out.println("Integer中的常量***************************