2 回答
TA贡献1883条经验 获得超3个赞
我不知道你还在使用哪种 Tuple2,但我认为它是一个 scala Tuple2。scala Tuple2 它是不可变的。您无法更改 Immutable 对象的值,您必须重新创建它。为什么?scala Tuple2 是一个函数式编程“数据结构”,因此,作为“函数式编程”的所有概念,它试图减少副作用。您可以使用 .copy 函数根据需要重新创建它。以下是代码示例:
@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贡献2037条经验 获得超6个赞
我不知道Tuple2你在和哪个合作。如何返回一个新对象:
Tuple2<String, Long> tuple = new Tuple2<String, Long>();
tuple._1 = event.getUser();
tuple._2 = event.getOtherThing() + acc._2;
return tuple;
添加回答
举报
