`
francis.xjl
  • 浏览: 16623 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

枚举的一种高级用法

 
阅读更多
package abstract_factory;

public enum RoomEnum {
	//定义值的时候同时调用自己定义的内部构造函数。
	BedRoom("abstract_factory.BedRoom"),
	LivingRoom("abstract_factory.LivingRoom");
	
	private String value = "";
	
	private RoomEnum(String value) {
		this.value = value;
	}
	
	public String getValue() {
		return this.value;
	}
	
	public static String test() {
		return BedRoom.value;
	}
	
	public static void main(String[]args) {
		System.out.println(RoomEnum.test());
	}
}

Enum类型作为一个参数传递到一个方法中时,在Junit进行单元测试的时候,不用判断输入参数是否为空、长度为0的边界异常条件。

这种比较高级的用法,可以用在创建一系列类时,缩减代码量。
分享到:
评论
15 楼 mingjian01 2010-08-09  
嗯,没发现java.util.concurrent包里的类都写得很牛B?
mercyblitz 写道
楼主可以看看java.util.concurrent.TimeUnit更加高级,混合了算法。

14 楼 JavaEye4Cwy 2010-08-09  
枚举的高级用法?

本来就这样用的。是你从来没用过吧~

应该称之为 Java基础 - 枚举
13 楼 西门吹牛 2010-08-09  
我觉得这种事情不应该让枚举做,就用简单的枚举挺好,个人意见!
12 楼 webee 2010-08-09  
这不是高级吧!基础功能哦!
11 楼 JasonRight 2010-08-09  
这个在Effective Java中有讲到。通过有参数的构造函数,在增加一个新的枚举值时,防止忘记赋值。
10 楼 抛出异常的爱 2010-08-09  
rainsilence 写道
package org.test;

public enum RoomEnum {

    BedRoom("org.test.BedRoom"),  
    LivingRoom("org.test.LivingRoom");  
      
    private String value = "";  
    
    private RoomEnum(String value) {  
        this.value = value;  
    }
    
    public String getValue() {
		return value;
	}

	public void setValue(String value) {
		this.value = value;
	}

	public static void main(String[]args) {  
        System.out.println(RoomEnum.BedRoom.getValue());  
    }  
	
}

lz这样写不是更好些?

BedRoom("org.test.BedRoom"), 
LivingRoom("org.test.LivingRoom");
大致意思为
RoomEnum.BedRoom = new RoomEnum("org.test.BedRoom");
RoomEnum.LivingRoom = new RoomEnum("org.test.LivingRoom");

大约可能不行.....
9 楼 freej 2010-08-09  
LZ那个算基本用法了吧,LS的几个都可以算高级些的用法。
8 楼 rainsilence 2010-08-09  
意为enum也可以是以对象,也可以有方法,有成员变量,还可以计算
7 楼 rainsilence 2010-08-09  
package org.test;

public enum RoomEnum {

    BedRoom("org.test.BedRoom"),  
    LivingRoom("org.test.LivingRoom");  
      
    private String value = "";  
    
    private RoomEnum(String value) {  
        this.value = value;  
    }
    
    public String getValue() {
		return value;
	}

	public void setValue(String value) {
		this.value = value;
	}

	public static void main(String[]args) {  
        System.out.println(RoomEnum.BedRoom.getValue());  
    }  
	
}

lz这样写不是更好些?

BedRoom("org.test.BedRoom"), 
LivingRoom("org.test.LivingRoom");
大致意思为
RoomEnum.BedRoom = new RoomEnum("org.test.BedRoom");
RoomEnum.LivingRoom = new RoomEnum("org.test.LivingRoom");
6 楼 coldsummerwei 2010-08-09  
我 也 没 懂
5 楼 yangjitang100 2010-08-09  
惭愧  没看懂
4 楼 throne212 2010-08-09  
楼主,你在说啥子哦,没看懂呢
3 楼 1927105 2010-08-09  
没用过,lz可否具体说明用在哪一方面的嘛?
2 楼 shuiguozheng 2010-08-09  
确实很高级啊
1 楼 mercyblitz 2010-08-08  
楼主可以看看java.util.concurrent.TimeUnit更加高级,混合了算法。

相关推荐

    高阶Java-Java枚举类型 enum 应用详解

    在Java编程语言中,枚举(enum)是一种特殊的类,用于定义一组固定的常量。它在许多场景下比使用常量或int类型的硬编码值更安全、更具可读性。本篇文章将深入探讨Java枚举的特性、用法以及如何在实际开发中充分利用...

    JAVA高级编程中Enum枚举

    在Java编程语言中,`Enum`(枚举)是一种特殊的类类型,用于定义固定的、预定义的常量集合。它们在程序设计中扮演着重要的角色,特别是在需要表示一组固定值时,如状态、颜色、星期等。本资源包提供了一些关于`Enum`...

    java中enum枚举的详细用法

    它们支持多种高级用法,包括构造函数、方法、switch语句、继承接口等,是编写高质量代码的重要工具。在处理固定的、有限的、不可变的数据集时,使用枚举往往比使用常量或字符串更合适,也更易于理解和维护。

    java枚举的一个例子

    在Java编程语言中,枚举(`enum`)是一种特殊的类,用于定义一组固定的常量值。这些常量值通常代表了一组预定义的选项或者状态,比如颜色、方向等。使用枚举可以提高代码的可读性和可维护性,并且Java中的枚举还支持...

    C语言中的枚举类型(enum):高级用法与编程技巧

    通过本文的介绍,读者可以掌握枚举类型的高级用法,包括位字段枚举、与宏的结合、大小和范围的确定,以及在数组、指针和函数中的应用。这些高级技巧将帮助读者在实际编程中更加灵活和高效地使用枚举类型。

    枚举类型.pptx

    ### 枚举类型详解 #### 一、枚举的基本概念...通过以上的介绍,我们可以看出,枚举类型作为一种特殊的类,在实际开发中具有广泛的应用价值。无论是提高代码的可读性还是增强代码的安全性,枚举类型都能发挥重要作用。

    enums-examples:Java 中枚举的高级使用示例

    在Java编程语言中,枚举(enum)是一种特殊的类,用于定义一组固定的常量。它在许多场景下比使用常量或int类型的硬编码值更安全、更具可读性。本篇文章将深入探讨Java中枚举的高级用法,通过实际示例帮助你更好地...

    java 枚举类总结

    #### 四、枚举类型的高级用法 1. **自定义方法**: 我们可以在枚举类型中定义自己的方法,例如: ```java public enum Color { RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLOW("黄色", 4); ...

    列举java 枚举相关信息

    枚举类型(Enum)是Java 5.0引入的一种新特性,它为开发者提供了一种更安全、更灵活的方式来处理一组固定数量的常量。相比于传统的使用整型或字符串来表示特定的值,枚举类型不仅类型安全,而且支持更多的功能。 ##...

    Java中的枚举类型Enum示例源代码

    Java中的枚举类型`Enum`是面向对象编程中一种强大的工具,它允许程序员定义自己的常量集合。在Java中,枚举类型不是简单的常量数组,而是一种完整的类,具有类的所有特性,如方法、构造函数和继承。下面将详细探讨`...

    windows下枚举串口的方法,超好用,跟设备管理器枚举一样

    它提供了一种更安全、更标准的方式来获取系统中的硬件信息。以下是一般的步骤: 1. **加载SetupAPI库**:使用`LoadLibrary`和`GetProcAddress`函数加载`setupapi.dll`库,并获取相关的函数指针,如`...

    易语言枚举内核对象句柄

    易语言,一种中文编程环境,提供了对系统底层资源管理的支持,包括枚举内核对象句柄的功能。本文将深入探讨这个主题,帮助你理解相关的知识点。 首先,我们要了解什么是内核对象。内核对象是操作系统内核为了管理和...

    JAVA中的枚举类型1:基本用法.doc

    在Java 5中,枚举类型作为一种新特性被引入,主要用于定义一组固定的、相关的常量集合。通过枚举类型,我们可以更加清晰地组织并限制程序中可用的常量选项,从而提高代码的可读性和可维护性。 例如,在文档中提到的...

    Python中的枚举类型:使用`enum`模块的深入指南

    在Python编程中,枚举(Enumeration)是一种特殊的数据类型,它用于定义一组命名的常量。在Python 3.4中,引入了enum模块,它提供了一个Enum类,使得定义和使用枚举类型变得简单而强大。本文将详细介绍如何在Python...

    高级配置电源接口规范

    高级配置电源接口规范(ACPI)是一种行业标准,旨在解决早期电源管理的缺陷。ACPI 规范允许操作系统来控制电源管理,从而解放了 BIOS。ACPI 的出现是为了解决 APM(Advanced Power Management)的缺陷,APM 不能让...

    第十四章枚举

    在编程领域,枚举(Enumeration)是一种特殊的数据类型,它用于定义一组相关的命名常量。枚举在不同的编程语言中有不同的实现方式,但其核心思想是相同的:为一组特定的值提供可读性强、易于理解的名称。在本章中,...

    枚举enum和switch 的使用

    枚举(Enum)在编程语言中是一种非常有用的数据类型,它允许我们定义一组相关的命名常量,便于代码的可读性和维护。在C#中,枚举是通过`enum`关键字来创建的。在给定的示例中,`BoxType`枚举定义了三种箱型:...

    EnumWindows枚举窗口源码

    易语言是一种中文编程语言,它的设计目标是让编程更加直观和简单。在易语言中,`EnumWindows`的使用可能会涉及到`系统.窗口.枚举`这样的命令,以及自定义的处理过程。 枚举窗口通常有以下用途: 1. **窗口管理**:...

    枚举(Word).docx

    在Microsoft Word的VBA编程中,枚举(Enumerations)是一种非常重要的概念,它们提供了一组预定义的常量,帮助开发者更清晰、更规范地处理各种操作和属性。以下是一些枚举类型的详细说明: 1. **WDALERTLEVEL 枚举 ...

    简述C#枚举高级战术

    在C#中,枚举(Enumeration)是一种强大的工具,用于定义一组相关的命名常量。这些常量通常用于表示有限的、预定义的集合,如颜色、星期几或者状态等。在处理角色或权限这样的多值场景时,枚举的应用尤为关键。本文...

Global site tag (gtag.js) - Google Analytics