第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

自定義或者Java中的操作

自定義或者Java中的操作

慕虎7371278 2023-08-16 10:10:47
對(duì)于 Java 項(xiàng)目,我創(chuàng)建了一個(gè)自定義布爾類(名為 Result),它可以具有三個(gè)值:True、False 或 Undefined。我定義了兩個(gè)函數(shù):“or”和“and”,規(guī)則如下:    public static Result or(Result r1, Result r2) {        if(r1.isTrue() || r2.isTrue()){            return V(); //new Result with value "True";        } else if(r1.isUndefined() || r2.isUndefined()) {            return U(); //new Result with value "Undefined";        }  else {            return F(); //new Result with value "False";        }    }    public static Result and(Result r1, Result r2) {        if(r1.isFalse() || r2.isFalse()){            return F(); //new Result with value "False";        } else if(r1.isUndefined() || r2.isUndefined()) {            return U();//new Result with value "Undefined";        }  else {            return V(); //new Result with value "True";        }    }這是可行的,但在很多情況下,它效率不高,因?yàn)槲倚枰谟?jì)算“or”或“and”的返回之前計(jì)算兩個(gè) Result 的值:如果我做if(f1() || f2()){}并且f1()的結(jié)果為True,f2()將永遠(yuǎn)不會(huì)被執(zhí)行以節(jié)省計(jì)算時(shí)間。是否有解決方案可以使我的自定義類具有相同的行為?
查看完整描述

1 回答

?
守著星空守著你

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超8個(gè)贊

您可以使用Supplier以獲得類的“延遲”執(zhí)行Result:


public static Result or(Supplier<Result> r1Supplier, Supplier<Result> r2Supplier) {

        Result r1 = r1Supplier.get();

        if(r1.isTrue()){

            return V(); //new Result with value "True";

        } else if(r1.isUndefined()) {

            return U(); //new Result with value "Undefined";

        }  else {

            // only here you need to handle r2 

            Result r2 = r2Supplier.get();

            if(r2.isTrue()){

                return V(); //new Result with value "True";

            } else if(r2.isUndefined()) {

                return U(); //new Result with value "Undefined";

            }  else {

                return F();

            }

        }

    }

它可以稍微清理一下并排序得更好,但你會(huì)掌握它的竅門


查看完整回答
反對(duì) 回復(fù) 2023-08-16
  • 1 回答
  • 0 關(guān)注
  • 107 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)