国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Rumah Java JavaAsas 什么是java枚舉

什么是java枚舉

Nov 09, 2019 am 11:06 AM
penghitungan java

什么是java枚舉

什么是java枚舉?

java 枚舉的定義與用法

一、枚舉的定義:

? ? ? ?枚舉是一種特殊的數(shù)據(jù)類型,之所以特殊是因為它既是一種類(class)類型卻又比類型多了些特殊的約束,但是這些約束的存在也造就了枚舉類型的簡潔,安全性以及便捷性。創(chuàng)建枚舉類型要使用enum關(guān)鍵字,隱含了所創(chuàng)建的類型都是java.lang.Enum類的子類(java.lang.Enum是一個抽象類)。枚舉類型符合通用模式Class Enum>,而E表示枚舉類型的名稱。枚舉類型的每一個值都映射到protected Enum(String name,int ordinal)構(gòu)造函數(shù)中,在這里,每個值的名稱都轉(zhuǎn)換成一個字符串,并且序數(shù)設(shè)置表示了此設(shè)置被創(chuàng)建的順序。

二、枚舉的使用:

? ? 創(chuàng)建一個枚舉類:EnumTest?

public enum EnumTest {
//星期一,星期二,星期三,星期四,星期五,星期六
MON(1), TUE(2),WED(3),THU(4),FRI(5),SAT(6){
public boolean isRest(){
return true;
}
},
//星期日
SUN(0){
public boolean isRest(){
return true;
}
};
private int value;
private  EnumTest(int value){
this.value=value;
}
public int getValue(){
return value;
}
public boolean isRest(){
return  false;
}
}

使用EnumTest枚舉類:

public class EnumMain {
public static void main(String[] args) {
for (EnumTest enumTest : EnumTest.values()) {
System.out.println(enumTest + ":" + enumTest.getValue());
}
System.out.println("---------------我是分割線------------");
EnumTest test = EnumTest.SAT;
switch (test) {
case MON:
System.out.println("今天是星期一");
break;
case TUE:
System.out.println("今天是星期二");
break;
case WED:
System.out.println("今天是星期三");
break;
case THU:
System.out.println("今天是星期四");
break;
case FRI:
System.out.println("今天是星期五");
break;
case SAT:
System.out.println("今天是星期六");
break;
case SUN:
System.out.println("今天是星期日");
break;
default:
System.out.println(test);
break;
}
}
}

結(jié)果:

MON:1
TUE:2
WED:3
THU:4
FRI:5
SAT:6
SUN:0

---------------我是分割線------------

今天是星期六

三、枚舉優(yōu)缺點(diǎn):

在枚舉出現(xiàn)之前,如果想要表示一組特定的離散值,往往使用一些常量。例如:

public class Entity {
 
 
public static final int VIDEO = 1;//視頻
 
public static final int AUDIO = 2;//音頻
 
public static final int TEXT = 3;//文字
 
public static final int IMAGE = 4;//圖片
 
 
private int id;
 
private int type;
 
 
public int getId() {
 
return id;
 
}
 
public void setId(int id) {
 
this.id = id;
 
}
 
public int getType() {
 
return type;
 
}
 
public void setType(int type) {
 
this.type = type;
 
}

四、使用這個常量的方法的缺點(diǎn):

? ? ? 1、代碼可讀性差,易用性差,由于setType()方法的參數(shù)是int型的,

? ? ? 2、類型不安全。在用戶去調(diào)用的時候,必須保證類型完全一致,同時取值范圍也要正確。像setType(-1);是合法的,但是不是合理的,今后會為程序帶來種種問題。

? ? ? ?3、耦合性高,擴(kuò)展性差。假如,因為某些原因,需要修改Entity類中常量的值,那么需要改的時候,修改漏了,那可不是開玩笑的。

枚舉就是為了這樣的問題而誕生的。它們給出了將一個任意項同另一項比較的能力。

Atas ialah kandungan terperinci 什么是java枚舉. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1502
276