package com.goodhope.tradingapp.domain;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.goodhope.tradingapp.util.O;
public class SettlementStatus implements Serializable{
private static final long serialVersionUID = -6168031969764821429L;
public static final SettlementStatus NORMAL_STATUS = new SettlementStatus("结算中");
public static final SettlementStatus COMPLETE_STATUS = new SettlementStatus("完成");
public static final SettlementStatus FREEZE_STATUS = new SettlementStatus("已冻结");
public static final SettlementStatus DRAFT_STATUS = new SettlementStatus("处理中");
public static final SettlementStatus CLAIMSED_STATUS = new SettlementStatus("已理赔");
private String name;
private static final Map<String, SettlementStatus> VALUES = new HashMap<String, SettlementStatus>();
private static final int HASH_CODE_SEED = 91;
static {
VALUES.put("结算中", NORMAL_STATUS);
VALUES.put("完成", COMPLETE_STATUS);
VALUES.put("已冻结", FREEZE_STATUS);
VALUES.put("处理中", DRAFT_STATUS);
VALUES.put("已理赔", CLAIMSED_STATUS);
}
private SettlementStatus(String name) {
this.name = name;
}
public static SettlementStatus valueOf(String name) {
return VALUES.get(name);
}
public String getName() {
return name;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (!(obj instanceof SettlementStatus)) {
return false;
}
return ((SettlementStatus) obj).getName().equals(this.name);
}
@Override
public int hashCode() {
return HASH_CODE_SEED + O.safeHashCode(name);
}
static List<SettlementStatus> values() {
List<SettlementStatus> returnValue = new ArrayList<SettlementStatus>();
for (String key : VALUES.keySet()) {
returnValue.add(VALUES.get(key));
}
return returnValue;
}
@Override
public String toString() {
return name;
}
}
分享到:
相关推荐
本例程重点介绍了如何在Qt环境下,通过重载QDataStream的operator和operator>>来实现自定义类型的数据读写,从而简化对文件的操作。 首先,理解QDataStream类是Qt中处理二进制数据流的核心工具,它允许我们以结构化...
通过自定义枚举类型转换器,我们可以确保枚举值在数据库和Java对象之间正确、安全地转换,提高代码的可读性和可维护性。这个项目示例将帮助开发者更好地理解和掌握这一技术,并能在实际项目中灵活应用。
第七章“自定义类型”主要涵盖了结构体(Struct)、共用体(Union)以及枚举类型(Enumeration)。这些概念是C++面向对象特性的重要组成部分,能够帮助程序员更高效地组织和管理代码。 1. **结构体(Struct)**:...
2. 数据安全:如“SecureField”可能是一个专为敏感信息设计的字段类型,提供额外的加密或访问控制功能。 3. 与外部系统集成:当需要与外部数据库或应用程序交换数据时,自定义字段类型可以作为桥梁,确保数据的一致...
总结来说,Java枚举类型提供了一种安全、类型安全的方式来定义和使用常量,它可以拥有构造器、方法和字段,并能与switch语句、序列化、反射等Java特性很好地结合。理解并熟练使用枚举,能够使代码更加清晰、易读,...
自定义类型在易语言中是指用户根据需求定义的数据结构,它可能是结构体、类或者枚举等。在DLL中使用自定义类型时,需要注意以下几点: 1. **类型声明**:首先,你需要在DLL的头文件中声明自定义类型,确保调用方和...
在Spring Boot项目中,枚举类型(Enums)的使用是一种常见的数据表示方式,它们提供了类型安全和可维护性。本文将深入探讨如何在Spring Boot应用中实现枚举类型的最佳实践,包括前端与后端交互、数据库操作以及序列...
在Java 5(也被称为Tiger)版本中引入,枚举类型极大地提高了代码的可读性、类型安全性和维护性。在本文中,我们将深入探讨Java枚举的定义、使用方法以及它如何改善传统使用`static final`常量的模式。 首先,让...
- 提供类型安全:避免了将枚举值硬编码为字符串或数字,减少了因拼写错误或值改变导致的bug。 - 易于维护:当需要添加、删除或修改枚举值时,只需要修改枚举类,而无需更改数据库表结构。 - **注意事项**: - ...
为了解决这个问题,C++11引入了枚举类(enum class),它提供了更强的类型安全性: ```cpp enum class Weekdays { Monday, Tuesday, ... }; ``` 在这种情况下,`Weekdays`成为一个独立的类型,不能直接与整数...
枚举类型不仅限于整数,还可以自定义它们的基础类型,如`byte`、`int`、`long`等,并可以为每个成员指定特定的值: ```csharp public enum Color : byte { Red = 1, Green = 2, Blue = 3 } ``` 在输入输出(Input/...
这是在JavaScript中实现类型安全枚举的尝试。 我最熟悉Java中枚举的工作方式,因此我在此之后对该库进行了建模。 JavaScript没有真正的枚举。 此问题的大多数解决方法都涉及使用映射,其中键表示枚举常量,并且值是...
它在许多场景下比使用常量或int值更方便,因为枚举提供了更强的类型安全性和更好的可读性。本资源"Java源码查看枚举类型定义.rar"包含了关于Java枚举类型的详细解释和实例,旨在帮助开发者深入理解这一特性。 首先...
此外,虽然枚举类型可以看作是整数的集合,但它们具有更强的类型安全,因为它们不允许与其他类型的数据进行隐式转换,这有助于防止错误的类型匹配。 总结来说,C++中的枚举类型是一种强大的工具,用于定义一组相关...
枚举类型与预处理指令`#define`的一个主要区别在于作用域和类型安全。`#define`在预处理阶段进行替换,而枚举在编译阶段进行处理,这意味着枚举成员有其自身的类型,可以提供更强的类型检查。此外,枚举类型变量只能...
虽然MATLAB的枚举是基于现有数据类型实现的,但它提供了更好的类型安全性和语义清晰度。理解枚举的概念对于编写清晰、可维护的代码至关重要,尤其是在涉及大量状态转换或决策分支的算法中。 7. **枚举与枚举类** ...
总结,Java枚举类型提供了定义一组固定值的机制,增强了代码的类型安全性,可读性和可维护性。它们在程序设计中扮演着重要的角色,特别是在处理常量集和模式匹配的场景中。同时,枚举的灵活性允许实现接口,扩展其...
例如,`List<T>`就是一个泛型类,其中`T`代表一个未指定的类型,实际使用时可以是整型、字符串或其他自定义类型。 当我们想要在泛型中实现枚举功能时,可能的场景是在一个集合中存储一组特定类型的枚举值。例如,...
枚举在Java编程语言中是一种强大的工具,它...它们可以提供类型安全,防止非法值的使用,同时也简化了对一组固定值的操作。通过上述示例,我们可以看到枚举在定义常量、控制流程、扩展功能和分类组织等方面的广泛应用。
此外,枚举可以实现接口,这使得它们可以具有自定义的行为。例如: ```java public interface Animal { void sound(); } public enum Species implements Animal { DOG("汪汪"), CAT("喵喵"); private String...