JAVA(14 ) 内置包装类

内置包装类

Object 是 Java 类库中的一个特殊类,也是所有类的父类。当一个类被定义后,如果没有指定继承的父类,那么默认父类就是 Object 类。

public class MyClass{...}
等价于
public class MyClass extends Object{...}

在 Object 类中定义的方法,在其他类中都可以使用

表1 Object类的常用方法

方法 说明
Object clone() 创建与该对象的类相同的新对象
boolean equals(Object) 比较两对象是否相等
void finalize() 当垃圾回收器确定不存在对该对象的更多引用时,对象的圾回收器调用该方法
Class getClass() 返回一个对象运行时的实例类
int hashCode() 返回该对象的散列码值
void notify() 激活等待在该对象的监视器上的一个线程
void notifyAll() 激活等待在该对象的监视器上的全部线程
String toString() 返回该对象的字符串表示
void wait() 在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待
equals() 方法

equals() 方法的作用与运算符类似,用于值与值的比较和值与对象的比较,而 equals() 方法用于对象与对象之间的比较,其使用格式如下:
boolean result = obj.equals(Object o);
obj 表示要进行比较的一个对象,o表示另外一个对象

getClass() 方法

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

示例:http://c.biancheng.net/view/888.html

Integer 类

  • Integer(int value):构造一个新分配的 Integer 对象,它表示指定的 int 值。
  • Integer(String s):构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。
Integer integer1=new Integer(100);    //以 int 型变量作为参数创建 Integer 对象
Integer integer2=new Integer("100");    //以 String 型变量作为参数创建 Integer 对象
方法 返回值 功能
byteValue() byte 以 byte 类型返回该 Integer 的值
shortValue() short 以 short 类型返回该 Integer 的值
intValue() int 以 int 类型返回该 Integer 的值
toString() String 返回一个表示该 Intege r值的 String 对象
equals(Object obj) boolean 比较此对象与指定对象是否相等
compareTo(Integer anotherlnteger) int 在数字上比较两个 Integer 对象,如相等,则返回 0;如调用对象的数值小于 anotherlnteger 的数值,则返回负值;如调用对象的数值大于 anotherlnteger 的数值,则返回正值
valueOf(String s) Integer 返回保存指定的 String 值的 Integer 对象
parseInt(String s) int 将数字字符串转换为 int 数值
String str = "123";
int num = Integer.parseInt(str);
int i = 789;
String s = Integer.toString(i);

在实现将字符串转换为 int 类型数值的过程中,如果字符串中包含非数值类型的字符,则程序执行将出现异常。

Integer 类的常量

Integer 类包含以下 4 个常量:

  • MAX_VALUE:值为 231-1 的常量,它表示 int 类型能够表示的最大值。
  • MIN_VALUE:值为 -231 的常量,它表示 int 类型能够表示的最小值。
  • SIZE:用来以二进制补码形式表示 int 值的比特位数。
  • TYPE:表示基本类型 int 的 Class 实例。

Float 类

  • Float 类在对象中包装了一个基本类型 float 的值。
  • Float 类中的构造方法有以下 3 个:
    1、 Float(double value):构造一个新分配的 Float 对象,它表示转换为 float 类型的参数。
    2、 Float(float value):构造一个新分配的 Float 对象,它表示基本的 float 参数。
    3、 Float(String s):构造一个新分配的 Float 对象,它表示 String 参数所指示的 float 值。
Float float1 = new Float(3.1114);//以 double 类型的变量作为参数创建 Float 对象
Float float2 = new Float(6.5);//以float 类型的变量作为参数创建Float对象
Float float3 = new Float("3.1415"); // 以String类型的变量作为参数创建Float对象
方法 返回值 功能
byteValue() byte 以 byte 类型返回该 Float 的值
doubleValue() double 以 double 类型返回该 Float 的值
floatValue() float 以 float 类型返回该 Float 的值
intValue() int 以 int 类型返回该 Float 的值(强制转换为 int 类型)
longValue() long 以 long 类型返回该 Float 的值(强制转换为 long 类型)
shortValue() short 以 short 类型返回该 Float 的值(强制转换为 short 类型)
isNaN() boolean 如果此 Float 值是一个非数字值,则返回 true,否则返回 false
isNaN(float v) boolean 如果指定的参数是一个非数字值,则返回 true,否则返回 false
toString() String 返回一个表示该 Float 值的 String 对象
valueOf(String s) Float 返回保存指定的 String 值的 Float 对象
parseFloat(String s) float 将数字字符串转换为 float 数值
String str = "123.12";
float  num = Float.parseFloat(str);// 将字符串转换为float类型的数值
float f = 123.4f;
String st = Float.toString(f);

Float 类的常用常量:

  • 在 Float 类中包含了很多常量,其中较为常用的常量如下。
  • MAX_VALUE:值为 1.4E38 的常量,它表示 float 类型能够表示的最大值。
  • MIN_VALUE:值为 3.4E-45 的常量,它表示 float 类型能够表示的最小值。
  • MAX_EXPONENT:有限 float 变量可能具有的最大指数。
  • MIN_EXPONENT:标准化 float 变量可能具有的最小指数。
  • MIN_NORMAL:保存 float 类型数值的最小标准值的常量,即 2-126。
  • NaN:保存 float 类型的非数字值的常量。
  • SIZE:用来以二进制补码形式表示 float 值的比特位数。
  • TYPE:表示基本类型 float 的 Class 实例。

Double 类

  • Double 类在对象中包装了一个基本类型 double 的值
  • Double 类中的构造方法有如下两个:
    1、Double(double value):构造一个新分配的 Double 对象,它表示转换为 double 类型的参数。
    2、Double(String s):构造一个新分配的 Double 对象,它表示 String 参数所指示的 double 值。
Double   double1 = new Double(4.3234);
Double   double2 = new Double("5.45");

Double类
在 Double 类内部包含一些和 double 操作有关的方法

方法 返回值 功能
byteValue() byte 以 byte 类型返回该 Double 的值
doubleValue() double 以 double 类型返回该 Double 的值
fioatValue() float 以 float 类型返回该 Double 的值
intValue() int 以 int 类型返回该 Double 的值(强制转换为 int 类型)
longValue() long 以 long 类型返回该 Double 的值(强制转换为 long 类型)
shortValue() short 以 short 类型返回该 Double 的值(强制转换为 short 类型)
isNaN() boolean 如果此 Double 值是一个非数字值,则返回 true,否则返回 false
isNaN(double v) boolean 如果指定的参数是一个非数字值,则返回 true,否则返回 false
toString() String 返回一个表示该 Double 值的 String 对象
valueOf(String s) Double 返回保存指定的 String 值的 Double 对象
parseDouble(String s) double 将数字字符串转换为 Double 数值
String str = "23432.234";
Double num = Double.parseDouble(str);
double dou = 534.3434;
String st = Double.toString(dou);
Number类
  • Number 是一个抽象类,也是一个超类(即父类)。Number 类属于 java.lang 包,所有的包装类(如 Double、Float、Byte、Short、Integer 以及 Long)都是抽象类 Number 的子类。
  • 抽象类不能直接实例化,而是必须实例化其具体的子类。
Number num = new Double(134.3);
System.out.println("返回double类型的值:"+ num.doubleValue());
System.out.println("返回int类型的值:"+num.intValue());
System.out.println("返回float类型的值:"+ num.floatValue());

Character 类

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

Boolean 类

  • Boolean 类将基本类型为 boolean 的值包装在一个对象中。一个 Boolean 类的对象只包含一个类型为 boolean 的字段
  • Boolean 类有以下两种构造形式:
    1、Boolean(boolean boolValue);
    2、 Boolean(String boolString);
  • 其中 boolValue 必须是 true 或 false(不区分大小写),boolString 包含字符串 true(不区分大小写),那么新的 Boolean 对象将包含 true;否则将包含 false。
public  class Test {
    public static void main(String[] args) {
          Boolean b1 = new Boolean(true);
          Boolean b2 = new Boolean("lean");
          Boolean b3 = new Boolean("true");
    }
}

Byte类

  • Byte 类将基本类型为 byte 的值包装在一个对象中。一个 Byte 类的对象只包含一个类型为 byte 的字段。
  • Byte 类提供了两个构造方法来创建 Byte 对象。
    1、 Byte(byte value)
    2、Byte(String s)
byte m_byte = 8;
Byte b = new  Byte(m_byte);
String m_by = "9";
Byte b2 = new Byte(m_by);
  • 必须使用数值型的 String 变量作为参数才能创建成功,否则会抛出 NumberFormatException 异常。

System类

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

分别是 PrintStream out、InputStream in 和 PrintStream err

  • System.out.println(data); // PrintStream out 标准输出流
  • InputStream in 标准输入流。
  • PrintStream err 标准的错误输出流
System 类的成员方法

常用的方法有 arraycopy()、currentTimeMillis()、exit()、gc() 和 getProperty()。

  • arraycopy() 方法
    1、该方法的作用是数组复制,即从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束
    2、public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)
    3、src 表示源数组,srcPos 表示从源数组中复制的起始位置,dest 表示目标数组,destPos 表示要复制到的目标数组的起始位置,length 表示复制的个数。

  • currentTimeMillis() 方法
    1、该方法的作用是返回当前的计算机时间,时间的格式为当前计算机时间与 GMT 时间(格林尼治时间)1970 年 1 月 1 日 0 时 0 分 0 秒所差的毫秒数
    2、long m=System.currentTimeMillis();

  • exit() 方法
    1、 该方法的作用是终止当前正在运行的 Java 虚拟机
    2、 public static void exit(int status) status 的值为 0 时表示正常退出,非零时表示异常退出。

  • gc() 方法
    1、该方法的作用是请求系统进行垃圾回收。至于系统是否立刻回收,取决于系统中垃圾回收算法的实现以及系统执行时的情况
    2、public static void gc()

  • getProperty() 方法
    1、该方法的作用是获得系统中属性名为 key 的属性对应的值
    2、public static String getProperty(String key)

你可能感兴趣的:(JAVA(14 ) 内置包装类)