如何在方法中修改int参数的值?-创新互联

就结论来说,int参数没法改,Integer也不行。但是,我们可以把它包装成AtomicInteger。

成都创新互联公司是专业的西岗网站建设公司,西岗接单;提供成都网站制作、成都网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行西岗网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

最近在做卡牌游戏ccg4j项目,有个场景是随从受到伤害后,触发受伤时效果。
有个随从的受伤时效果可以降低所受伤害3点。
那么问题来了,伤害值是数字类型的,进入受伤时函数后,改不了了,当然可以投机取巧的给受伤随从加上3点血,又要考虑血上限的问题。

这时,我想到了AtomicInteger!
话不多说,上代码:

public static void main(String[] args){int hp = 10;
        int damageOrigin = 10;
        AtomicInteger damage = new AtomicInteger(damageOrigin);
        whenDamaged(damage);
        hp -= damage.get();

        System.out.println(hp);

    }
    private static void whenDamaged(AtomicInteger damage){damage.addAndGet(-3);
    }

whenDamaged方法中,成功的将damage降低了3,最后输出hp是3,随从活下来了,好耶!

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前题目:如何在方法中修改int参数的值?-创新互联
文章分享:http://scyanting.com/article/doocsi.html