【问题标题】:Trying to set an object to true or false using a variable in java尝试使用java中的变量将对象设置为true或false
【发布时间】:2019-02-15 04:09:50
【问题描述】:

所以我正在重构一些非常旧的代码,我看到相同的代码重复了大约 20 次,唯一的区别是被设置为 true 或 false 的对象正在改变。

我试图弄清楚如何使用 .notation 设置对象以将其设置为 true 或 false。

它看起来像这样。

if("true".equals(this.element.getText())) {
    endorse.setFDSC(true);
}else {
    endorse.setFDSC(false);
}

我目前的方法是这样的。

private void setEndorsmentRecordsToF( EndorsementRecordApplication endorse, String location) throws Exception {

     if("true".equals(this.element.getText())) {
         endorse.setFDSC(true);
     }else {
         endorse.setFDSC(false);
     }
}

任何提示或建议将不胜感激,这些对象中的每一个都不同,但适用相同的逻辑。

【问题讨论】:

  • 如果不查看整个代码,很难理解您的问题。但是,这:endorse.setFDSC("true".equalsIgnoreCase(this.element.getText())); 比 if-else 条件短得多

标签: java object boolean


【解决方案1】:

您可以使用Boolean.class 的静态方法。所以你可以使用Boolean.parseBoolean 方法。然后你的代码会是这样的;

private void setEndorsmentRecordsToF(EndorsementRecordApplication endorse, String location) throws Exception {
    endorse.setFDSC(Boolean.parseBoolean(this.element.getText()));
}

Boolean.class 这个方法体是 ;

public static boolean parseBoolean(String var0) {
    return var0 != null && var0.equalsIgnoreCase("true");
} 

所以检查 equalsIgnoreCase

如果您想将布尔值转换为字符串,请使用Boolean.class中已定义的此方法;

public static String toString(boolean var0) {
    return var0 ? "true" : "false";
}

【讨论】:

    猜你喜欢
    • 2022-10-05
    • 2012-08-22
    • 1970-01-01
    • 1970-01-01
    • 2010-09-17
    • 2020-11-14
    • 2012-01-09
    • 1970-01-01
    • 2010-10-13
    相关资源
    最近更新 更多