Effective Java(2nd)第31条
可以使用如下方法代替
public enum Ensemble {
SOLO(1), DUET(2), QUINTET(5);
private final int numberOfMusicians;
Ensemble(int size) {
this.numberOfMusicians = size;
}
public int numberOfMusicians() {
return numberOfMusicians;
}
public static void main(String[] args){
//Ensemble es = new Ensemble(2);
System.out.println(Ensemble.QUINTET.numberOfMusicians);
}
}
避免使用枚举的ordinal方法,而是把序数保存在一个实例域中。
Ensemble.SOLO就是枚举Ensemble的一个实例,可以使用枚举内的方法。
Ensemble.values()返回枚举数组可以用来遍历枚举
for(Ensemble e : Ensemble.values())
分享到:
相关推荐
`@Enumerated(EnumType.ORDINAL)`注解表示使用枚举的顺序(即默认的`ordinal()`值)作为数据库字段的值。当然,也可以使用`@Enumerated(EnumType.STRING)`保存枚举的名称,但请注意这可能会增加数据库存储空间。 ...
Spring Boot 枚举使用的坑整理 Spring Boot 枚举使用的坑整理是指在使用 Spring Boot 枚举时可能出现的一些问题和解决方法的...只有注意这些坑,才能正确地使用枚举类型,在 Spring Boot 应用程序中避免出现问题。
下面我们将深入探讨enum的使用方法。 1. **定义枚举** 定义枚举的关键字是`enum`,例如: ```java public enum WeekDays { MON, TUE, WED, THU, FRI, SAT, SUN; } ``` 这里我们创建了一个名为`WeekDays`的...
与传统的固定步长或基于梯度的方法相比,SBB步长能够更高效地探索解空间,同时避免了过大的步长导致的振荡问题。 #### 实验结果 为了验证所提方法的有效性,研究人员进行了大量的模拟实验以及真实世界数据集上的...
它们提供了一种强类型的方式,避免了使用硬编码的整数或字符串常量可能导致的错误。例如,定义一个性别枚举: ```java enum Gender { MALE, FEMALE }; ``` 在处理性别时,我们就可以直接使用`Gender.MALE`或`...
相比使用常量,枚举提供了更强的类型安全,可以避免在使用过程中误用其他数值。 2. 枚举的秘密: - **枚举的单例性**:枚举中的每个实例都是唯一的,它们都是单例对象。这意味着,对于同一个枚举常量,如`User...
- 使用适当的字符串长度限制来避免问题。 #### 26. error26: Type mismatch (类型不匹配) **错误描述**:当变量或函数参数类型不匹配时发生。 **解决方法**: - 确认所有变量和函数参数的类型都是一致的。 - 使用...
解决方法:重构代码,避免使用‘GOTO’到‘TRY…EXCEPT’等结构内或外,可以考虑使用异常处理机制替代。 #### 5. Bad argument type in variable type array constructor 错误描述:在变量类型数组构造器中,参数...
- **使用StringBuilder**:当构建新的字符串时,避免使用`+`操作符连接多个字符串,因为这会导致不必要的中间对象创建。使用`StringBuilder`可以更高效地构建字符串。 以下是一个示例代码,展示了如何根据不同的...
4. **使用 pragmas**:虽然不如前两种方法常用,但在某些情况下也有效果,例如通过 `#pragma comment` 指令来告诉编译器输出特定的函数。 ##### 2.2 DLL 的调用方式 DLL 的调用主要分为两种方式:动态调用和静态...
以下是对Java枚举使用方法的详细说明: 1. **普通枚举** 在Java中,创建一个枚举非常简单,只需要定义一个类并将其声明为`enum`即可。例如,`ColorEnum`枚举定义了四种颜色:red, green, yellow和blue。你可以通过...
在实际应用中,除了以上方法,还有其他处理类别变量的方式,如目标编码(Target Encoding)和有序独热编码(Ordinal One-Hot Encoding),这些方法更复杂,但可能在特定情况下能提高模型性能。处理类别变量时,应...
对于大量文本比较,注意性能优化,如使用StringBuilder进行字符串拼接,避免频繁创建新的字符串对象,以及使用缓存策略以减少不必要的比较。 在提供的压缩文件`20061218_CompareV1`中,可能包含了实现上述一种或...
此外,枚举提供了许多内置的方法,如`values()`返回枚举的所有实例,`ordinal()`返回枚举常量的顺序索引。 总的来说,Java枚举类型提供了更高级别的抽象,增强了代码的可读性和安全性。通过使用枚举,开发者可以...
使用泛型,我们可以确保集合内的元素类型一致,避免了类型转换错误。例如,当我们创建一个`List<String>`,集合只能存储字符串类型的元素,防止了将其他类型的数据误插入。 在集合上使用泛型的语法通常表现为`...
3. **理解软件架构**:开发人员在构建和维护大型软件项目时,可以使用Depend来查看整个项目的DLL依赖结构,优化代码组织,避免不必要的重复引用,提高软件性能。 4. **版本控制**:在升级或更新软件时,确保所有...
- **断言的应用**:用于测试程序,但在公共方法中使用断言应谨慎,避免产生副作用。 #### 异常处理策略 - **异常处理原则**:调用可能抛出异常的方法时,要么捕获异常并处理,要么声明抛出异常给调用者处理。 ####...
枚举类型在Java中是一种强大的工具,它提供了一种安全、优雅的方式来表示固定集合的值,同时还能避免使用常量类或整数常量来管理这些值所带来的问题。通过枚举,代码变得更易于理解和维护,同时也减少了潜在的错误。
解决方法是合理安排外部函数的引用,避免过度使用EXTRN指令。 #### error54: OF expected(缺OF) 在某些语言中,OF关键字用于标记某种类型的定义。若缺失OF关键字,编译器将报此错误。解决方法是在相应位置添加OF...