java - Why does my list not change with lambda? -
this question has answer here:
i have following simple method:
public void exercise2(list<string> list) { list.stream().filter(s -> s.length() % 2 == 0).collect(collectors.tolist()); } and simple test, not complete successfully:
@test public void testexercise2() { lesson1 lesson1 = new lesson1(); list<string> list = new arraylist<>(arrays.aslist("alpha", "bravo", "charlie", "delta", "echo", "foxtrot")); list<string> inputlist = new arraylist<>(list); lesson1.exercise2(list); assertequals("input " + inputlist.tostring(), arrays.aslist("echo"), list); }
streams never modify original list.
your function creates new list, ignores it.
wiki
Comments
Post a Comment