java 枚举示例:ValueOf、toString、Switch、compareTo
类型 枚举 在 Java 中 是一种特殊的数据类型,可用于声明常量变量。在 Java 中,枚举类型的声明关键字是 enum.enum
的示例我们想用五个搜索引擎声明一个枚举变量:
public enum searchengines{Google, Yahoo, Bing, Exhead, Baidu};末尾的逗号是可选的,两次写入都是合法的。
您可以访问常量:
enginesSearch engine = 搜索引擎.Google;所有枚举都继承自 class java.lang.Enum因为一个类只能从一个父接口继承,而只能从多个接口继承。
枚举类型是一个强大的工具 因为它定义了一个类或接口,我们可以将方法和属性放入其中。默认情况下,编译器会添加诸如 values()它返回一个数组,其中包含按声明顺序排列的值。
使用 for
静态方法 values() 在扫描的情况下很有用,例如:for( 搜索引擎 发动机: searchengines.values()) {
System.out.println(引擎);
}
属性和方法
枚举类型可以包含构造函数、方法、变量和常量。您可以使用应作为构造函数中的参数传递的值初始化常量。public class EnumExample {输出:
public enum searchengines{
Google(160), Yahoo(66.4f), Bing(7.f), Baidu(66), Ask(4.6f);
私人花车游客;
private searchengines(float visitors) {
this.visitors = visitors;
}
}
public static void main(String[] args) {
for( search engines: searchengines.values()) {
System.out.println(Search engine: ”+engine+
visitors: ”+engine.visitors+ millions”);
}
}
}
搜索引擎: Google 访问者: 1.60 亿常量声明 static 和 final,并且一旦创建就无法更改。
搜索引擎: Yahoo 访问者: 6640 万
搜索引擎: Bing 访问者: 700 万
搜索引擎: 百度访客:6600万
搜索引擎:询问访客:460万
两个枚举之间的相等性比较
比较是使用 equals() 或运算符 '==',两者都给出相同的结果,因此您可以选择.
google search engines = searchengines.Google;
if(google.equals(GoogleSearchengines))
System.out.println(与等号的比较”);
if(google == searchengines.Google)
System.out.println(与==的比较”);
The Switch instruction
public class EnumExample{
public enum searchengines{
Google(160)、Yahoo(66.4f)、Bing(7.f)、Baidu(66)、Ask(4.6f);
私人花车游客;
private searchengines(float visitors) {
this.visitors = visitors;
}
}
搜索引擎名称;
EnumExample(搜索引擎名称){
this.name=name;
}
public void slogan() {
switch (name) {
Google:
System.out.println(不要恶意,不要作恶”);
遗产;
box Yahoo:
System.out.println(Yahoo! 是你。你是雅虎吗?
遗产;
box Bing:
System.out.println(必应是用来做的。
遗产;
box Baidu:
System.out.println(百度更懂中文”);
遗产;
box Ask:
System.out.println(你的问题是什么?
遗产;
}
}
public static void main(String[] args) {
Google Example = new ExampleNumber(SearchEngines.Google);
google.slogan();
例枚举 yahoo = new 例例 Enum(Searchengines.Yahoo);
yahoo.slogan();
示例 Num bing = new SampleNum(SearchEngines.Bing);
bing.slogan();
百度示例枚举 = new 百度示例枚举(SearchEngines.Baidu);
baidu.slogan();
EnumExample ask = new EnumExample(Searchengines.Ask);
ask.slogan();
}
}
不能使用 new 关键字创建枚举实例,因为构造函数已声明 私人 并在运行时创建。即使您不将其设置为 private,它仍然被视为 private。
toString 和 ValueOf
toString 返回常量的名称:函数 valueOf() 对方法进行反向处理 toString(),我们给它起名字,它返回常量:
System.out.println(yahoo.toString());
System.out.println(yahoo.valueOf(Yahoo”));
compareTo
此函数用于比较两个枚举,如果此对象分别小于、等于或大于,则返回 -1、0、1。
System.out.println(google.compareTo(yahoo));
要记住的内容:
- 轻松声明常量和相关值。
- 枚举 继承自 java.lang.Enum.
- 枚举无法实现接口。
- 枚举 <方法和变量不能像 . ><>
- 变量和构造函数一样声明为私有变量。
- 允许使用以下方法比较两个枚举 compareTo().
- Les 枚举 与 Switch.
References: