1

Set<Keyword>キーワードのテキストを含む文字列を格納するオブジェクト Keyword と、文字列配列に変換する必要がある一連のキーワード ( ) があります。これを行うための迅速で簡単な方法はありますか、それともセットを反復して各キーワードを 1 つずつ追加する必要がありますか?

編集:

Keywordクラスをお求めの方へ:

@Entity
public class Keyword {

    // ...

    @Basic
    private String value;

    // ...

    // Getters & Setters

}
4

5 に答える 5

1

toString()以下に示すように、Keyword クラスにメソッドを追加する必要がある場合があります。または、別のトランスフォーマー クラス/メソッドを使用できます。

class Keyword {
    private String value;

    Keyword(String v) {
        this.value = v;
    }

    public String toString() {
        return value;
    }
}

.

セットを繰り返し、各キーワードを 1 つずつ追加することが最善の戦略だと思います。

System.out.println(toStringArray(set));

.

private static String[] toStringArray(Collection<?> set) {
    String[] arr = null;
    if (set != null) {
        arr = new String[set.size()];
        int i = 0;
        for (Object o : set) {
            arr[i++] = o.toString();
        }
    }
    return arr;
}

.

ただし、本当に必要な場合は、以下に示すような汚い回避策を使用できます。,ここでの唯一の問題は、split() メソッドで使用されるため、キーワード値にカンマ ( ) を含めることができないことです。

String str = set.toString();
str = str.substring(1, str.length() - 1);
String[] asStringArray = str.split(",");
System.out.println(asStringArray);
于 2013-06-18T16:45:07.097 に答える
1

これを行う特定の方法はありません。set.toArray を使用して Set を Object[] に変換してから、配列を反復処理するか、セットを直接反復処理することができます

于 2013-06-18T13:11:28.643 に答える