我觉得如果我知道我想做的事情的 Java 术语,Google 可以快速回答这个问题,但我不知道,所以我相信 Stack Overflow。 :)
我有一个 Object
vector ,我想要一个 String
数组,其中包含 vector 中每个元素的字符串表示形式,通过调用 生成>toString()
在每个元素上。
在 Ruby(或 Perl,或 Python,或 Scheme,或数百万种具有 map
方法的其他语言中的任何一种)中,我会这样做:
vector.map(&:to_s) do |string|
# do stuff
end
我怎样才能在 Java 中做同样的事情?我想写这样的东西:
Vector<Object> vector = ...;
String[] strings = vector.map(somethingThatMagicallyCallsToString);
有什么想法吗?
最佳答案
如果可以,请输入 Guava , 你可以使用它的 transform
函数。
Iterable<String> strings = Iterables.transform(vector, Functions.toStringFunction());
transform
的第二个参数是 Function
接口(interface)的实例。通常你会编写你自己的实现,但 Guava 提供了 toStringFunction()
和其他一些。
关于java - 如何在 Java vector 上使用 Ruby 风格的映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6161712/