我这里有这段代码,我真的不明白为什么在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";
}
}
}
答案 0 :(得分:4)
此处此指的是当前的 InstrumentType 值
static void MyFunc( )
{
InstrumentType f = InstrumentType.GUITAR;
String s = f.toString();
}
调用f.toString()
时。 此将具有 GUITAR 值
答案 1 :(得分:1)
它指的是当前的实例。
如果你有一个anum实例“foo”:
String s = foo.toString();
答案 2 :(得分:0)
this
指向其容器类/ struct / enum之类的元素。在这种情况下,this
用于InstrumentType
。这是大多数OO语言的基本规则。