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);
}

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;
添加回答
舉報(bào)