Java之常用類小結案例講解
Java常用類
包裝類
由于Java語言中的基本類型不是面向對象,并不具備對象的性質,實際使用存在很多不便。Java在java.lang包中提供了八種基本類型對應的包裝類,可以方便地將它們轉化為對象進行處理,并且可以調(diào)用一些方法。Java中基本類型和包裝類的對應關系如下表所示:
| 基本數(shù)據(jù)類型名稱 | 包裝類名稱 |
|---|---|
| byte | Byte |
| short | Short |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
| char | Character |
| boolean | Boolean |
從JDK1.5版本開始,引入了自動裝箱和自動拆箱的 概念。裝箱指的是將基本類型的值轉換成包裝類對象,拆包指的是將包裝類對象轉換成基本類型的值。自動裝箱和拆箱在Java中很常見,在賦值或者方法調(diào)用時都有可能發(fā)生。、
裝箱與拆箱基本操作代碼如下:
package com.Cuc.demo01;
/**
* 裝箱與拆箱
* @author ZpF
*/
public class BoxingAndUnBoxing {
public static void main(String[] args) {
Integer x=new Integer(10);//手動裝箱
Integer y=11;//自動裝箱
int m=x.intValue();//手動拆箱
int n=y;//自動拆箱
System.out.println(m);
System.out.println(n);
}
}
自動裝箱和拆箱雖然能使代碼變的簡潔但也存在一些問題,通過以下代碼進行說明。
package com.Cuc.demo01;
/**
* 自動裝箱中的一個陷阱
* @author ZpF
*/
public class BoxingAndUnBoxing {
public static void main(String[] args) {
/**
* Java會緩存-128-127的數(shù)值,在范圍內(nèi)會復用這個對象(內(nèi)存分配是同一個地址)
*/
Integer i1=10;
Integer i2=10;
System.out.println(i1==i2);//true i1和i2都指向內(nèi)存中同一地址,所以為同一對象
System.out.println(i1.equals(i2));//true
/**
* Java會緩存-128-127的數(shù)值,超過這一范圍會重新創(chuàng)建一個對象
*/
Integer i3=210;
Integer i4=210;
System.out.println(i3==i4);//false
System.out.println(i3.equals(i4));//true
}
}
包裝類中的常量
每一種包裝類都提供了一些常量,比較典型的常量有如下所示:
| 名稱 | 說明 |
|---|---|
| MAX_VALUE | 最大值 |
| MIN_VALUE | 最小值 |
| SIZE | 以二進制補碼的形式所占的位數(shù) |
| BYTES | 以二進制補碼形式所占的字節(jié)數(shù) |
| TYPE | **類型的class對象 |
每一種不同的包裝類提供不同的常量,以上只是舉例其中部分進行說明,真正用到時還要具體分析。
包裝類的構造方法
Integer類、Double類、Boolean類提供了兩種構造方法。
- 以基本數(shù)據(jù)類型的值為入?yún)?chuàng)建對象。
- 以String字符串為入?yún)?chuàng)建對象。
示例代碼如下:
package com.Cuc.demo01;
/**
* 包裝類的構造方法
*/
public class Consructor {
public static void main(String[] args) {
Integer i1=new Integer(10);
Integer i2=new Integer("10");
Double i3=new Double(20.1);
Double i4=new Double("20.1");
Boolean i5=new Boolean(true);
Boolean i6=new Boolean("false");
}
}
Character類只提供了一種構造方法,以char字符為創(chuàng)建一個Character類對象。
package com.Cuc.demo01;
/**
* Character包裝類的構造方法
*/
public class Consructor {
public static void main(String[] args) {
Character i7=new Character('帥');
}
}
包裝類中的常用方法
每一種包裝類都提供了許多常用方法,在具體需要時查閱相關資料選擇合適的方法。
Math類
Java中提供了Math類來處理復雜的數(shù)學運算,如平方根、對數(shù)、三角函數(shù)、指數(shù)等。Math類中還提供了一些常用的數(shù)學常量,如PI、E等。Math類中的方法都被定義為static靜態(tài)方法,直接使用Math.method格式調(diào)用(method代表方法名)。Math類沒有構造方法,也就是說Math類不能實例化對象,因為數(shù)學本身就是抽象的,沒有具體實例化對象。Math類是java.lang基礎包中提供的。
枚舉
枚舉類型在編程語言中很常見,它是在JDK1.5版本引入的特性,是一種特殊的數(shù)據(jù)類型。枚舉類型將一系列含義相同、預先定義好的常量組合起來,其中每個常量都各自有定義好的相同類型的值。
枚舉定義
Java中枚舉類型的定義格式如下:
public enum [枚舉類名]{
[枚舉值代碼塊]
}
因為枚舉和Class類一樣,都是需要被外部訪問的,所以權限修飾符都是public;enum為枚舉類型的關鍵字;枚舉類的名稱與Class定義相同,一般為首字母大寫,因為表示的是常量,所以枚舉類型的字段一般為全大寫字母?!癧枚舉代碼塊]”中定義了每個枚舉值的名稱和內(nèi)容。
下面是一個關于顏色枚舉的定義的示例:
package com.Cuc.demo01;
/**
* 枚舉值定義
* @author ZpF
*/
public enum ColorEnum {
RED,GREEN,YELLOW,BLUE;
}
使用枚舉值可以直接通過“枚舉類名.枚舉值名”的方式來訪問。
枚舉的常見方法
枚舉類型的對象繼承java.lang.Enum類。枚舉類型中的常見方法如下所示:
| 方法 | 功能描述 |
|---|---|
| values() | 將枚舉類型成員屬性按數(shù)組形式返回 |
| valueOf() | 將普通字符轉換為枚舉對象 |
| compareTo() | 比較兩個枚舉對象在定義時的前后順序 |
| ordinal() | 獲取枚舉成員的索引位置 |
代碼示例:
package com.Cuc.demo01;
/**
* enum使用
* @author ZpF
*/
public class UseNum {
public static void main(String[] args) {
ColorEnum colorArray[]=ColorEnum.values();
for (int i = 0; i < colorArray.length; i++) {
System.out.println("依次打印枚舉類型成員"+colorArray[i]);
}
System.out.println("RED和GREEN的比較結果為:"+ColorEnum.RED.compareTo(ColorEnum.GREEN));
for (int i = 0; i < colorArray.length; i++) {
System.out.println("依次獲取枚舉類型成員索引位置:"+colorArray[i].ordinal());
}
}
}
運行結果:

枚舉類型中也可以添加自定義的構造方法,但是構造方法必須是私有的,被關鍵字private修飾。
package com.Cuc.demo01;
/**
* 枚舉值定義
* @author ZpF
*/
public enum ColorEnum {
RED("紅色"),GREEN("綠色"),YELLOW("黃色"),BLUE("藍色");
public String color;
private ColorEnum() {
}
private ColorEnum(String color) {
this.color = color;
}
}
package com.Cuc.demo01;
/**
* enum使用
* @author ZpF
*/
public class UseNum {
public static void main(String[] args) {
ColorEnum colorArray[]=ColorEnum.values();
for (int i = 0; i < colorArray.length; i++) {
System.out.println("依次打印枚舉類型成員:"+colorArray[i].color);
}
}
}
運行結果:
到此這篇關于Java之常用類小結案例講解的文章就介紹到這了,更多相關Java之常用類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Spring Security在標準登錄表單中添加一個額外的字段
這篇文章主要介紹了Spring Security在標準登錄表單中添加一個額外的字段,我們將重點關注兩種不同的方法,以展示框架的多功能性以及我們可以使用它的靈活方式。 需要的朋友可以參考下2019-05-05
詳解Mybatis中的 ${} 和 #{}區(qū)別與用法
這篇文章主要介紹了Mybatis中的 ${} 和 #{}區(qū)別與用法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07

