番石榴 - Lists.transform(...,...)和FluentIterable.from(...)之间的区别.transform(...)

Ter*_*ato 2 java list filter guava

两者之间有什么区别,如果有的话

Lists.transform(list, function)
Run Code Online (Sandbox Code Playgroud)

和

FluentIterable.from(list).transform(function).toList()
Run Code Online (Sandbox Code Playgroud)

?

Col*_*inD 6

Lists.transform返回List是一个视图原始的List.如果在原始列表中添加或删除项目,视图也将更改.

FluentIterable.from(list).transform类似地返回原始列表的转换视图,但FluentIterable不是作为a而不是a List.当你调用toList()就可以了,不过,你回来了ImmutableList,这将不会改变,如果原来的名单变化(或曾经为此事).

  • @TereaJato:什么是`Iterables.list()`?如果你的意思是`FluentIterable.toList()`,它没有明确地说"这不会返回一个视图",但通常如果方法_does_返回一个视图,它将说明.此外,"ImmutableList"永远不能是可能是可变的东西的视图. (2认同)