switch case 值用枚举
时间: 2023-07-13 12:35:38 浏览: 117
使用枚举来代替 switch case 中的常量值是一个很好的编程实践。它可以使代码更加可读、易于维护和扩展。下面是一个示例:
```
public enum MessageType {
LOGIN(110),
LOGOUT(120),
MESSAGE(130);
private final int value;
MessageType(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
// 在 switch case 中使用枚举
switch (message.getType()) {
case LOGIN:
// 处理登录消息
break;
case LOGOUT:
// 处理退出消息
break;
case MESSAGE:
// 处理普通消息
break;
default:
// 处理未知消息类型
break;
}
```
在这个例子中,我们定义了一个 `MessageType` 枚举来表示消息类型,每个枚举常量都有一个对应的 int 值。在 switch case 中,我们使用 `message.getType()` 方法来获取消息类型,然后使用枚举常量来比较。这样可以使代码更加简洁、易于理解和维护。
相关问题
switch case 如何配合枚举使用
switch case与枚举的配合使用可以通过将枚举值作为switch的条件来实现不同的分支选择。下面是一个示例代码:
```java
enum MyEnum {
ENUM1,
ENUM2,
ENUM3
}
public class Main {
public static void main(String[] args) {
MyEnum myEnum = MyEnum.ENUM2;
switch (myEnum) {
case ENUM1:
System.out.println("执行ENUM1的逻辑");
break;
case ENUM2:
System.out.println("执行ENUM2的逻辑");
break;
case ENUM3:
System.out.println("执行ENUM3的逻辑");
break;
default:
System.out.println("执行默认逻辑");
break;
}
}
}
```
在上面的代码中,我们定义了一个枚举类型`MyEnum`,然后在`main`方法中使用`switch`语句根据枚举值执行不同的逻辑。根据`myEnum`的值,会执行相应的分支逻辑。
java switch case为枚举的值时
在Java中,可以使用switch case语句来根据枚举值进行条件判断。下面是一个示例代码演示如何在switch case中使用枚举值:
```java
// 定义一个枚举类型
enum TestObjectEnums {
苹果大厦,
西瓜公寓,
葡萄居所,
哈密瓜楼
}
// 定义一个测试对象类
class TestObject {
private TestObjectEnums categoryCode;
public TestObjectEnums getCategoryCode() {
return categoryCode;
}
public void setCategoryCode(TestObjectEnums categoryCode) {
this.categoryCode = categoryCode;
}
}
// 在switch case中使用枚举值
public class Main {
public static void main(String[] args) {
// 创建一个测试对象列表
List<TestObject> queryList = new ArrayList<>();
queryList.add(new TestObject());
queryList.add(new TestObject());
queryList.add(new TestObject());
queryList.add(new TestObject());
// 对全部对象进行遍历筛选
List<TestObject> apple = new ArrayList<>();
List<TestObject> waterMelon = new ArrayList<>();
List<TestObject> grape = new ArrayList<>();
List<TestObject> hamiMelon = new ArrayList<>();
for (TestObject to : queryList) {
// 使用switch case根据枚举值进行判断
switch (to.getCategoryCode()) {
case 苹果大厦:
apple.add(to);
break;
case 西瓜公寓:
waterMelon.add(to);
break;
case 葡萄居所:
grape.add(to);
break;
case 哈密瓜楼:
hamiMelon.add(to);
break;
default:
break;
}
}
// 输出结果
System.out.println("苹果大厦: " + apple.size());
System.out.println("西瓜公寓: " + waterMelon.size());
System.out.println("葡萄居所: " + grape.size());
System.out.println("哈密瓜楼: " + hamiMelon.size());
}
}
```
这段代码中,我们定义了一个枚举类型`TestObjectEnums`,包含了四个枚举值。然后定义了一个`TestObject`类,其中包含了一个`categoryCode`属性,用来表示对象的类别。在`Main`类中,我们创建了一个测试对象列表`queryList`,然后使用switch case语句根据枚举值进行判断,并将对象添加到对应的列表中。最后,我们输出了每个列表的大小。
阅读全文