Rhythmk 一步一步学 JAVA (20) JAVA enum常用方法
JAVA 枚举定义常用方法:
1、static Enum valueOf(Class enum,String name)
返回指定name的枚举类型
2、Static Enum values[]
返回枚举常量集合
package com.rhythmk.filedemo;
import java.util.Scanner;
public class enum_demo {
public static void main(String[] args) {
System.out.println("------------------------1-----------------------------");
//1、获取枚举对象所有枚举类型
Size[] sizeArr=Size.values();
for (Size size : sizeArr) {
System.out.println(size.toString());
}
System.out.println("------------------------2-----------------------------");
// 2、通过 Enum 的 Indexof(EnumType,name) 返回于name同名的枚举属性
Scanner sc=new Scanner(System.in);
System.out.println("请输入Size属性[SMALL,BIG,LARGE]");
String sInput=sc.next();
Size smallSize=Size.SMALL;
Size eInput=Size.valueOf(Size.class,sInput);
if(eInput==smallSize)
{
System.out.println("True,'枚举对象为:'"+eInput);
}else
{
System.out.println("False");
}
System.out.println("------------------------3-----------------------------");
// 3、调用枚举定义方法
String sizeShow=Size.SMALL.Show();
System.out.println(sizeShow);
Size bigLarge= Size.BIGLARGE;
System.out.println("------------------------4-----------------------------");
// 4、调用枚举自定义方法
String sblogsShow=Blog.RHYTHMK.Show();
System.out.println(sblogsShow);
}
}
enum Size
{
SMALL,
BIG,
LARGE,
BIGLARGE("BIGLARGE");
private Size()
{}
private Size(String str)
{
System.out.println("Size被创建,传入值为:"+str);
}
public String Show()
{
return "调用枚举定义方法回传值";
}
}
enum Blog
{
CNBLOGS("博客园"),
CSDN("CSDN博客"),
RHYTHMK("本博客");
private Blog(String str)
{
this._show=str;
}
private String _show;
private String getShow()
{
return _show;
}
public String Show()
{
return "当前选择博客为:"+getShow();
}
}
输出:
------------------------1-----------------------------
Size被创建,传入值为:BIGLARGE
SMALL
BIG
LARGE
BIGLARGE
------------------------2-----------------------------
请输入Size属性[SMALL,BIG,LARGE]
SMALL
True,'枚举对象为:'SMALL
------------------------3-----------------------------
调用枚举定义方法回传值
------------------------4-----------------------------
当前选择博客为:本博客
Rhythmk 一步一步学 JAVA (20) JAVA enum常用方法的更多相关文章
- Java - 20 Java 继承
Java 继承 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类.继承可以理解为一个对象从另一个对象获取属性的过程. 如果类A是类B的父类,而类B是类C的父类,我们也称C是A的子 ...
- Rhythmk 一步一步学 JAVA(7): jsp 自定义标签
1.实现Tag接口: TagSupport类实现了Tag接口,为我们提供了4个重要的方法(见表6-5). 1.1. TagSupport类中的常用方法 int doStartTag ...
- 一步一步学Silverlight 2系列(20):如何在Silverlight中与HTML DOM交互(下)
述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...
- 一步一步学ROP之linux_x64篇
一步一步学ROP之linux_x64篇 一.序 **ROP的全称为Return-oriented programming(返回导向编程),这是一种高级的内存攻击技术可以用来绕过现代操作系统的各种通用防 ...
- 一步一步学android控件(之十五) —— DegitalClock & AnalogClock
原本计划DigitalClock和AnalogClock单独各一篇来写,但是想想,两个控件的作用都一样,就和在一起写一篇了. DegitalClock和AnalogClock控件主要用于显示当前时间信 ...
- 一步一步学android控件(之十六)—— CheckBox
根据使用场景不同,有时候使用系统默认的CheckBox样式就可以了,但是有时候就需要自定义CheckBox的样式.今天主要学习如何自定义CheckBox样式.在CheckBox状态改变时有时需要做一些 ...
- 【DG】[三思笔记]一步一步学DataGuard
[DG][三思笔记]一步一步学DataGuard 它有无数个名字,有人叫它dg,有人叫它数据卫士,有人叫它data guard,在oracle的各项特性中它有着举足轻理的地位,它就是(掌声)..... ...
- 一步一步学android控件(之六) —— MultiAutoCompleteTextView
今天学习的控件是MultiAutoCompleteTextView . 提到MultiAutoCompleteTextView 我们就自然而然地想到AutoCompleteTextView ,就想知道 ...
- 系列文章--一步一步学Silverlight2
概述 由TerryLee编写的<Silverlight 2完美征程>一书,已经上市,在该系列文章的基础上补充了大量的内容,敬请关注.官方网站:http://www.dotneteye.cn ...
随机推荐
- 浅析使用vue-router实现前端路由的两种方式
关于vue-router 由于最近的项目中一直在使用vue,所以前端路由方案也是使用的官方路由vue-router,之前在angularJS项目中也是用过UI-router,感觉大同小异,不过很显然v ...
- rabbitmq之window环境启动
rabbitmq启动方式有2种 1.以应用方式启动 rabbitmq-server -detached 后台启动 Rabbitmq-server 直接启动,如果你关闭窗口或者需要在改窗口使用其他命令时 ...
- JS代码执行机制
JS代码从编译到执行 我们写出一段JS代码,JS的引擎并不是按照我们书写的顺序从上到下顺序编译并且执行的,首先是按照自己的规则对我们的代码先进行编译,然后从上到下执行编译的代码. 在全局作用域中,JS ...
- jsp如何判断mysql数据库中是否已经存在添加的某条记录的方法
String query="select * from hdxcy_info where XcyName='"+XcyName+"'"; String sqlS ...
- CentOS6下yum升级安装mysql
CentOS6默认版本的mysql是5.1.73,当前主流版本一般为mysql-5.6,需要安装该版本的话可以执行以下操作 1.1.卸载旧版mysql 1)备份数据 # 直接删除老版本的相关文件可能会 ...
- 解决sublime package control 出现There are no packages available for installation
昨天在安装了一下Sublime Text 3,在安装插件的过程中出现了一些问题,现在记录一下,也给遇到同样问题的朋友一些帮助.在安装插件的时候,需要先安装一下Package Control. 安装Pa ...
- 每天一个linux命令(网络):【转载】route命令
Linux系统的route命令用于显示和操作IP路由表(show / manipulate the IP routing table).要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或 ...
- MacBook下配置android adb命令使用环境
想在Mac下使用android adb命令,常用的两种配置方式: 在MacBook下配置adb命令环境(方法一) 1.下载并安装IDE (android studio) 人性化的安装,直接点击下一步下 ...
- L3-014 周游世界 (30 分)
周游世界是件浪漫事,但规划旅行路线就不一定了…… 全世界有成千上万条航线.铁路线.大巴线,令人眼花缭乱.所以旅行社会选择部分运输公司组成联盟,每家公司提供一条线路,然后帮助客户规划由联盟内企业支持的旅 ...
- hasura graphql 模式拼接概念
具体的使用可以参考下面一张图 有一个术语 graphql-bindings 参考项目: https://github.com/hasura/generate-graphql-bindings http ...