8

できるところはありXXXUtilsますか

String s = XXXUtils.join(aList, "name", ",");

"name"、 内のオブジェクトの JavaBeans プロパティaListです。

メソッドしかないStringUtilsことがわかりましたが、 a を別の に変換するだけです。joinList<String>String

何かのようなもの

StringUtils.join(BeanUtils.getArrayProperty(aList, "name"), ",")

それは高速で、使用する価値があります。BeanUtils は 2 つのチェック例外をスローするので、気に入らない。

4

2 に答える 2

15

それを行うJava 8の方法:

String.join(", ", aList.stream()
    .map(Person::getName)
    .collect(Collectors.toList())
);

あるいは単に

aList.stream()
    .map(Person::getName)
    .collect(Collectors.joining(", ")));
于 2015-07-23T11:28:34.887 に答える
3

私は何も知りませんが、プロパティ値のリストを提供するリフレクションを使用して独自のメソッドを作成し、それStringUtilsを結合するために使用できます。

public static <T> List<T> getProperties(List<Object> list, String name) throws Exception {
    List<T> result = new ArrayList<T>();
    for (Object o : list) {
        result.add((T)o.getClass().getMethod(name).invoke(o)); 
    }
    return result;
}

参加するには、次のようにします。

List<Person> people;
String nameCsv = StringUtils.join(getProperties(people, "name"));
于 2012-07-04T13:30:03.517 に答える