You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现统计User对象中4个Boolean属性true值数量的方法?

解决方法:统计User对象中Boolean属性为true的数量

没问题,这事儿其实很简单,我给你几种实用的实现思路,你可以根据自己用的编程语言来选:

Java 实现方案

基础判断法(兼容所有Java版本)

这种方法直白易懂,适合所有场景,还能避免空指针异常(如果你的Boolean属性可能为null的话):

public class User {
    private Boolean workOut1;
    private Boolean workOut2;
    private Boolean workOut3;
    private Boolean workOut4;

    // 记得补充构造器、getter和setter方法

    public int countTrueWorkouts() {
        int trueCount = 0;
        // 用Boolean.TRUE.equals()避免null导致的空指针
        if (Boolean.TRUE.equals(workOut1)) trueCount++;
        if (Boolean.TRUE.equals(workOut2)) trueCount++;
        if (Boolean.TRUE.equals(workOut3)) trueCount++;
        if (Boolean.TRUE.equals(workOut4)) trueCount++;
        return trueCount;
    }
}

Stream流简化版(Java 8+)

如果你的项目用了Java 8及以上版本,用Stream会更简洁:

public int countTrueWorkouts() {
    return (int) Stream.of(workOut1, workOut2, workOut3, workOut4)
            .filter(Boolean.TRUE::equals)
            .count();
}

JavaScript 实现方案

如果是前端或者Node.js场景,这样写就行:

class User {
    constructor(workOut1, workOut2, workOut3, workOut4) {
        this.workOut1 = workOut1;
        this.workOut2 = workOut2;
        this.workOut3 = workOut3;
        this.workOut4 = workOut4;
    }

    countTrueWorkouts() {
        return [this.workOut1, this.workOut2, this.workOut3, this.workOut4]
            .filter(flag => flag === true)
            .length;
    }
}

验证示例

比如你说的情况:workOut1=false、workOut2=true、workOut3=false、workOut4=false,调用上面的方法都会返回1,完全符合你的需求。

内容的提问来源于stack exchange,提问作者Robbie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:29:45