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 ...
随机推荐
- json.dumps与json.dump的区别 json.loads与json.load的区别(简洁易懂)
json.dumps是将一个Python数据类型列表进行json格式的编码解析, 示例如下: >>> import json #导入python 中的json模块 >>& ...
- C++面向对象高级编程(九)Reference与重载operator new和operator delete
摘要: 技术在于交流.沟通,转载请注明出处并保持作品的完整性. 一 Reference 引用:之前提及过,他的主要作用就是取别名,与指针很相似,实现也是基于指针. 1.引用必须有初值,且不能引用nul ...
- tornado框架的get方法传递参数
tornado框架的get方法传递参数,代码: # encoding: utf-8 """ @version: ?? @author: andu99 @contact: ...
- MQTT再学习 -- 搭建MQTT服务器及测试
最近在搞 PM2.5 采集,需要用到 MQTT 传输协议.协议部分看了几天的,讲的七七八八.本身在 intel 上有 写好的MQTT 的源码,现在的工作其实也就是移植到单片机上或者DM368板卡上.不 ...
- LightOJ - 1396 :Palindromic Numbers (III)(逐位确定法)
Vinci is a little boy and is very creative. One day his teacher asked him to write all the Palindrom ...
- debugfs文件系统
debugfs: https://www.cnblogs.com/helloworldtoyou/p/6281415.html /proc/bus/input/devices /sys/kernel/ ...
- AS3 判断双击事件
//双击事件触发的时候不触发单击事件 package { import com.greensock.TweenLite; import flash.display.DisplayObjectConta ...
- NTP时间服务器的配置
1.NTP简介NTP(Network Time Protocol,网络时间协议)是用来使网络中的计算机,时间同步的一种协议.NTP服务器利用NTP协议来提供时间同步服务. 2 .环境准备主机名 ...
- 从 Excel 表格粘贴到 浏览器表格中
从 Excel 表格粘贴到 浏览器表格中 由于 Excel 用途广泛,所以在导入时用到很多. 但是更多人的喜欢使用复制粘贴. 在网上找了一圈有找到一个开源项目,可以将 Excel 粘贴到 HTML 中 ...
- redhat 防火墙禁止允许的IP链接指定的端口
编辑:iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 192.168.4.3 --dport 80 -j A ...