1
我想加入列表的所有String name
屬性,用斜槓/
分隔。尤其重要的是,例如。最後一項在末尾沒有附加斜線。如何加入列表中特定屬性的所有值?
List<MyClass> list;
class MyClass {
String name;
}
這樣做的最佳方式是什麼(我不能使用Java 8)。是否有任何庫,例如Guava
,提供這種功能的開箱即用,我可能還沒有找到?
我想加入列表的所有String name
屬性,用斜槓/
分隔。尤其重要的是,例如。最後一項在末尾沒有附加斜線。如何加入列表中特定屬性的所有值?
List<MyClass> list;
class MyClass {
String name;
}
這樣做的最佳方式是什麼(我不能使用Java 8)。是否有任何庫,例如Guava
,提供這種功能的開箱即用,我可能還沒有找到?
番石榴提供了Lists.transform
方法,可以讓你提取所有name
屬性到一個列表,像這樣:
List<String> names = Lists.transform(list, new Function<MyClass,String>() {
public String apply(MyClass obj) {
return obj.name;
}
});
它還提供了string Joiner
,它可以讓你完成的任務:
String namesSeparatedBySlash = Joiner.on("/").join(names);
當然你可以撥打電話Lists.transform
撥打電話join
在一個單一的聲明,如下所示:
String namesSeparatedBySlash = Joiner
.on("/")
.join(
Lists.transform(list, new Function<MyClass,String>() {
public String apply(MyClass obj) {
return obj.name;
}
})
);