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

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

如何在 Java 中將值修改為 Tuple2

如何在 Java 中將值修改為 Tuple2

慕工程0101907 2022-05-12 18:57:44
我在折疊函數(shù)中使用累加器。我想更改累加器的值。我的函數(shù)看起來(lái)像這樣:public Tuple2<String, Long> fold(Tuple2<String, Long> acc, eventClass event) {    acc._1 = event.getUser();    acc._2 += event.getOtherThing();    return acc}對(duì)我來(lái)說(shuō)這應(yīng)該是可行的,因?yàn)槲宜龅木褪歉淖兝奂悠鞯闹?。但是我得到的是Cannot assign value to final variable _1. 對(duì)_2. 為什么這些屬性是accfinal的?如何為它們分配值?快速編輯: Wat I can to be rust return a new Tuple,但在我看來(lái)這不是一個(gè)好的解決方案return new Tuple2<String, Long>(event.getUser(), acc._2 + event.getOtherThing());flink框架的解決方案: 使用flink中定義的Tuple2。使用導(dǎo)入它import org.apache.flink.api.java.tuple.Tuple2;然后將其與acc.f0 = event.getUser();acc.f1 += event.getByteDiff();return acc;
查看完整描述

2 回答

?
白板的微信

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

我不知道你還在使用哪種 Tuple2,但我認(rèn)為它是一個(gè) scala Tuple2。scala Tuple2 它是不可變的。您無(wú)法更改 Immutable 對(duì)象的值,您必須重新創(chuàng)建它。為什么?scala Tuple2 是一個(gè)函數(shù)式編程“數(shù)據(jù)結(jié)構(gòu)”,因此,作為“函數(shù)式編程”的所有概念,它試圖減少副作用。您可以使用 .copy 函數(shù)根據(jù)需要重新創(chuàng)建它。以下是代碼示例:


 @Test

    public void test() {

        Tuple2<String,Long> tuple = new Tuple2<>("a",1l);

        Tuple2<String,Long> actual = tuple.copy(tuple._1,tuple._2+1);

        Tuple2<String,Long> expected = new Tuple2<>("a",2l);

        assertEquals(actual,expected);

    }


查看完整回答
反對(duì) 回復(fù) 2022-05-12
?
阿晨1998

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

我不知道Tuple2你在和哪個(gè)合作。如何返回一個(gè)新對(duì)象:


Tuple2<String, Long> tuple = new Tuple2<String, Long>();

tuple._1 = event.getUser();

tuple._2 = event.getOtherThing() + acc._2;

return tuple;


查看完整回答
反對(duì) 回復(fù) 2022-05-12
  • 2 回答
  • 0 關(guān)注
  • 731 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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