簡體   English   中英

Java Enum在switch語句上

[英]Java Enum on a switch statement

我在這里有這段代碼,我真的不明白為什么在switch語句中有一個“ this”關鍵字,請看一下這段代碼

public enum InstrumentType{

    GUITAR,BANJO,MANDOLIN,DOBRO, FIDDLE ,BASS,

    public String toString(){
        switch(this){
        case GUITAR:
            return "Guitar";
        case BANJO: 
            return "Banjo";
        case DOBRO:
            return "Dobro";
        case FIDDLE:
            return "Fiddle";
        case BASS:
            return "Bass";
        case MANDOLIN:
            return "Mandolin";
        default: 
            return "Unspecified";
        }
    }
}

這里是指當前InstrumentType

static void MyFunc( )
{
    InstrumentType f = InstrumentType.GUITAR;
    String s = f.toString();
}

調用f.toString() 將具有GUITAR價值

它引用當前實例。

如果您有一個anum實例“ foo”:

String s = foo.toString();

this指向它的容器類/結構/枚舉之類的元素。 在這種情況下, this用於InstrumentType 這是大多數OO語言的基本規則。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM