java - 修改此代码的更好方法是什么[重构]

标签 java refactoring

<分区>

有没有更好的方式来呈现这段代码?

while (vIter.hasNext()) {
    Long actId = (Long) vIter.next();
    if (actId == -1) 
        vRetActIds.put(actId,"N");
    else
        vRetActIds.put(actId,"N");
}

这里我觉得if else可以去掉。在迭代器列表中有一个值 -1,如果存在则应设为 "N"

最佳答案

你的两条指令if两边是一样的!我怀疑你贴错了。假设它们不同("Y""N"):) 您可以简单地使用 ternary operator 来编写它:

while (vIter.hasNext()) {
    Long actId =(Long)vIter.next();
    vRetActIds.put(actId, actId == -1 ? "N" : "Y");
}

编辑:从您的评论来看,您似乎每次都想将该值设置为“N”?在这种情况下,您根本不需要 if...

while (vIter.hasNext()) {
    vRetActIds.put((Long)vIter.next(), "N");
}

关于java - 修改此代码的更好方法是什么[重构],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9374471/

相关文章:

java - Java 中的数据类型及其表示

java - JUnit hibernate : testing lazy associations fetched

java - CXF 在 View 模式中打开 session

javascript - JSLint 说有 "too many var statements"背后的原因是什么

Javascript,Ember 2,如何重构此 promise 代码(也许还可以使用 async/await)

java - 在 Java Play Framework Scala 模板中转义 HTML

java - Google App Engine - 调度程序错误

java - 基于请求标识符的客户端请求工厂

javascript - 使用 lodash 我如何保留一个稍后可以用作参数的计数器?

c# - 如何从配置文件重构高度重复的阅读部分