`

如何自定义 enum类型

    博客分类:
  • Java
 
阅读更多
package com.jin.enums;

public enum Planet {
	MERCURY (3.303e+23, 2.4397e6),
    VENUS   (4.869e+24, 6.0518e6),
    EARTH   (5.976e+24, 6.37814e6),
    MARS    (6.421e+23, 3.3972e6),
    JUPITER (1.9e+27,   7.1492e7),
    SATURN  (5.688e+26, 6.0268e7),
    URANUS  (8.686e+25, 2.5559e7),
    NEPTUNE (1.024e+26, 2.4746e7),
    PLUTO   (1.27e+22,  1.137e6);

    private final double mass;   // in kilograms
    private final double radius; // in meters
    Planet(double mass, double radius) {
        this.mass = mass;
        this.radius = radius;
    }
    public double mass()   { return mass; }
    public double radius() { return radius; }

    // universal gravitational constant  (m3 kg-1 s-2)
    public static final double G = 6.67300E-11;

    public double surfaceGravity() {
        return G * mass / (radius * radius);
    }
    public double surfaceWeight(double otherMass) {
        return otherMass * surfaceGravity();
    }
}

 形式二

package com.jin.enums;

public enum Operation {
//	PLUS, MINUS, TIMES, DIVIDE;
//
//    // Do arithmetic op represented by this constant
//    double eval(double x, double y){
//        switch(this) {
//            case PLUS:
//            {
//            	System.out.println("aa");
//            	System.out.println("aa");
//            	System.out.println("aa");
//            	return x + y;
//            }
//            case MINUS:  return x - y;
//            case TIMES:  return x * y;
//            case DIVIDE: return x / y;
//        }
//        throw new AssertionError("Unknown op: " + this);
//    }
	
	PLUS   { double eval(double x, double y) { return x + y; } },
	MINUS  { double eval(double x, double y) { return x - y; } },
	TIMES  { double eval(double x, double y) { return x * y; } },
	DIVIDE { double eval(double x, double y) { return x / y; } };

	// Do arithmetic op represented by this constant
	abstract double eval(double x, double y);
}

 形式三:

package com.jin.enums;

public enum Color {
	RED, GREEN, YELLOW, BLUCK
}

 

 使用:

package com.jin.enums;

public class Test {
	public static void main(String[] args) {
//		System.out.println(Color.valueOf("RED"));
//		System.out.println(Planet.VENUS.radius());
		System.out.println(Operation.PLUS.eval(1, 3));
	}
}

 

 

分享到:
评论

相关推荐

    enum类型重定义解决方法

    在编程中,`enum`(枚举)类型是用来定义一组命名的整数常量,它在C++中被广泛使用。然而,在某些情况下,我们可能会遇到`enum`类型的重定义问题,这通常发生在包含不同库或者头文件时,因为这些库可能已经定义了...

    C++自定义数据类型(2013级-C++程序设计)

    在C++语言中,自定义数据类型为我们提供了一种途径,能够根据程序的需求定义复合数据类型,以更好地适应程序设计的需要。下面将详细讨论结构体(struct)、共用体(union)、枚举类型(enum)以及typedef声明类型的...

    Java枚举类型Enum的用法

    Java枚举类型(Enum)是Java SE 5.0引入的一种新的数据类型,它为开发者提供了更为强大且安全的方式来表示一组常量。枚举在Java中不仅是一个类,还是一种特殊的类型,允许我们定义自己的常量集合。接下来,我们将...

    c++程序设计 第七章用户自定义数据类型

    枚举类型的定义形式为:enum 枚举类型名 {枚举常量表};其中,枚举类型名是用户定义的类型名,枚举常量表是该枚举类型的所有枚举常量的集合。 typedef声明新类型名是C++语言中的一种语法,它允许用户定义一个新的...

    Java软件开发实战 Java基础与案例开发详解 16-3 自定义标注类型 共7页.pdf

    ### Java软件开发实战:自定义标注类型 #### 16.3 自定义标注类型 **标注(Annotation)** 是Java 5引入的一个重要特性,它为元数据提供了一种标准化的方式来描述程序元素(如类、方法等)。通过使用标注,开发者...

    C自定义数据类型PPT课件.pptx

    在C++编程语言中,自定义数据类型是程序员根据需求创建的特定数据结构,用于表示更复杂的实体或概念。这通常涉及到使用基本数据类型(如int、char、float等)来构建新的复合类型,比如枚举(enumeration)、数组、...

    C++程序设计课件 ch7 自定义数据类型

    在C++程序设计中,自定义数据类型是基础知识点之一,主要涉及到结构体(struct)、共用体(union)、枚举类型(enum)等。这些类型能够帮助程序员定义更为复杂和特定的数据结构,从而在程序中表示更加丰富的信息。 ### ...

    C语言程序设计自定义数据类型PPT课件.pptx

    在C语言中,自定义数据类型是一种强大的特性,允许程序员根据需求创建自己的数据结构。这通常涉及到结构体(struct)、共用体(union)和枚举(enumeration)三种类型。这些自定义类型使得代码更加灵活,能够更好地...

    1.springbood+mybatis项目demo2.mybatis自定义枚举类型的转换器以及各种使用场景

    本项目示例"1.springboot+mybatis项目demo2.mybatis自定义枚举类型的转换器以及各种使用场景"着重展示了如何在Spring Boot应用中集成MyBatis,并利用MyBatis处理枚举类型的数据。 首先,我们来了解Spring Boot。...

    C语言程序设计自定义数据类型实用教案.ppt

    在C语言中,自定义数据类型是编程时非常重要的一个特性,它允许程序员根据实际需求创建新的复杂数据结构。这通常涉及到结构体、共用体和枚举等类型。 1. **自定义数据类型概念**:自定义数据类型是用户自定义的、由...

    C++程序设计讲义-自定义类型

    在C++程序设计中,自定义类型是编程中不可或缺的一部分,它允许我们创建符合特定需求的复杂数据结构。第七章“自定义类型”主要涵盖了结构体(Struct)、共用体(Union)以及枚举类型(Enumeration)。这些概念是C++...

    C语言程序设计自定义数据类型PPT学习教案.pptx

    主要有三种自定义数据类型:结构体(struct)、共用体(union)和枚举(enum)。 1. **自定义数据类型概念**: 自定义数据类型是指用户可以根据自己的需求,将不同基本数据类型(如int、char、float等)组合成新的...

    2019年整理C语言程序设计课件第5章-自定义数据类型(ppt-课件).ppt

    在C语言中,自定义数据类型是一个非常重要的概念,它允许程序员根据实际需求定义新的复合数据类型。在本课件中,主要讲解了C语言中的结构体(struct)、共用体(union)、枚举(enum)以及类型定义(typedef)。这些...

    《C语言学习辅导》自定义数据类型21

    《C语言学习辅导》自定义数据类型章节主要讲解了C语言中的构造数据类型,包括枚举类型(enum)、结构体类型(struct)和联合体类型(union)。这些类型允许程序员自定义复杂的数据结构,以满足特定的编程需求。 ...

    自定义控件(十)添加枚举型属性

    枚举(Enum)是C#中一种非常有用的类型,它提供了一种命名整数值的方式,使得代码更具可读性。在自定义控件中,我们可以利用枚举来限制属性的值,这样在使用控件时,用户可以选择预定义的选项,而不是输入任意的字符...

    第9章-用户自定义数据类型-21

    在C语言中,我们可以使用结构体(struct)、共用体(union)和枚举类型(enum)来创建自定义的数据类型。本章节重点讲解了如何声明和使用这些自定义类型。 9.6 节讲述了枚举类型,它是C语言中的一种常量集合,通常用于...

    dh C++自定义数据类型(新).ppt

    本篇内容主要围绕C++中的三种自定义数据类型展开:结构体(Struct)、共用体(Union)和枚举(Enum),以及它们在实际编程中的应用。 首先,我们来看结构体类型。结构体是一种复合数据类型,它能将多个不同类型的...

    C语言程序设计教程第10章用户自定义数据类型.ppt

    在C语言中,用户自定义数据类型允许程序员根据实际需求创建新的数据结构,以更高效地管理和操作数据。本教程主要介绍了三种用户自定义数据类型:结构型(structure)、联合型(union)和枚举型(enumeration)。 **...

    doctrine-enum-type:一种自定义学说类型,该类型使用myclabsphp-enum将列值映射到枚举对象

    教义枚举类型 该软件包提供了一个基本实现,用于定义映射到MyCLabs\Enum\Enum对象的学说实体列类型。 该类在出色的包中定义。安装推荐的安装方法是使用 composer require acelaya/doctrine-enum-type用法此软件包...

Global site tag (gtag.js) - Google Analytics