gpt4 book ai didi

java - 键值映射而不是很长的 ELSE-IF 结构?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:37:25 24 4
gpt4 key购买 nike

我目前正在研究一种将一些字符串映射到其他字符串的方法。

它有很多值,方法开始看起来像这样:

ValueHelper.isEqual() 方法正在寻找完全匹配。

private IValue1 mapValue(IValue2 value2) {
if (ValueHelper.isEqual(value2.getName(), StatusValues.ACTIVE)) {
return ValueHelper.getName(StatusValues2.WORKING);
} else if (ValueHelper.isEqual(value2.getName(), StatusValues.INACTIVE)) {
return ValueHelper.getName(StatusValues2.NOT_WORKING);
} else if (ValueHelper.isEqual(value2.getName(), StatusValues.IN_SERVICE)) {
return ValueHelper.getName(StatusValues2.SERVICE);
}
}

目前我有 10 个 else-if 代码块。

让这个方法更简单、更短的最佳方法是什么?将值提取到键值映射?还是另一种选择?

最佳答案

我想一张 map 就可以了。您还可以考虑 switch-case 以使其不那么冗长:

private IValue1 mapValue(IValue2 value2) {
switch(value2.getName()) {
case StatusValues.ACTIVE: return StatusValues2.WORKING;
case StatusValues.INACTIVE: return StatusValues2.NOT_WORKING;
case StatusValues.IN_SERVICE: return StatusValues2.SERVICE;
default: throw new RuntimeException();
}

关于java - 键值映射而不是很长的 ELSE-IF 结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39409143/

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