gpt4 book ai didi

java - 如何更改 Java 中应返回类的大量 if/else

转载 作者:行者123 更新时间:2023-12-01 17:55:22 25 4
gpt4 key购买 nike

当我看到一个方法中包含大量 if/else 语句时,我的眼睛会流血。我想以某种方式解决这个问题。方法是:

    private Class getMapType(String header) {
if (header.equals(Bean01.getHeader())) {
return Bean01.class;
} else if (header.equals(Bean02.getHeader())) {
return Bean02.class;
} else if (header.equals(Bean03.getHeader())) {
return Bean03.class;
} else if (header.equals(Bean04.getHeader())) {
return Bean04.class;
} else
logger.log(Logger.FATAL, "File does not exist");
return null;
}

getHeader() 方法对于每个类都是不同的。

那么,我该如何重做呢?

最佳答案

一种方法是使用静态最终 map

private static final Map<String, Class> TYPE_MAPPING = new ImmutableMap.Builder()
.put("Bean01", Bean01.class)
.put("Bean02", Bean02.class)
.put("Bean03", Bean03.class)
.build();

private Class getMapType(String header) {
return TYPE_MAPPING.get(header);
}

关于java - 如何更改 Java 中应返回类的大量 if/else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45458521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com