【问题标题】:Change return method from boolean to int将返回方法从 boolean 更改为 int
【发布时间】:2023-04-04 05:15:01
【问题描述】:

我能以某种方式将此方法从布尔值转换为整数值吗?所以当我调用该方法而不是返回 true 或 false 时,我可以返回 1 或 0:

public boolean openMode() {

return Settings.System.getBoolean(contxt.getConentResolver(), Setting.System.START_METHOD, true); 

}

【问题讨论】:

标签: java android boolean


【解决方案1】:

使用“三元运算符”的更短形式:

public int openMode()
{
    boolean value = Settings.System.getBoolean(contxt.getConentResolver(), Setting.System.START_METHOD, true);
    return (value == true ? 1 : 0);
}

【讨论】:

  • 叫做“三元算子”
【解决方案2】:
public int openMode(){
    boolean value = Settings.System.getBoolean(contxt.getConentResolver(), Setting.System.START_METHOD, true);

    if(value){
        return 1;
    }
    else{
        return 0;
    }

}

【讨论】:

    【解决方案3】:

    与 C 等其他编程语言不同,java 不会将 1 或 0 识别为真或假(或简称为布尔值)。所以这个方法的返回类型必须是 boolean 它自己,你不能返回 1 或 0,除非你改变方法的返回类型。但是,如果您可以更改方法签名,则可以将返回类型更改为 int,并返回 1 为 true,返回 0 为 false。示例:

    public int openMode(){
     return (Settings.System.getBoolean(contxt.getConentResolver(), Setting.System.START_METHOD, true))?1:0 ;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-12
      • 1970-01-01
      相关资源
      最近更新 更多