intの配列に文字列を変換し、ストリームを使用して、区切り文字で区切ら

ローマShmandrovskyi:

だから、私は自動生成されたシンボルで構成された単語のリストを持っています。たとえば、次のようにhqst私はそれがドットで割るUnicodeと連結するために、この言葉の各シンボルを変換し.、次のように:104.113.115.116

私は次のラムダを記述します。

.map(word -> {
    char[] symbols = word.toCharArray();
    StringBuilder newWord = new StringBuilder();

    for (int i = 0; i < symbols.length; i++) {
        newWord.append((int) symbols[i]).append(".");
        if (i == symbols.length - 1) {
            newWord = new StringBuilder(newWord.substring(0, i));
        }
    }
    return newWord.toString();
})

それは、ストリームAPIを使用して、この匿名メソッドを書き換えることは可能ですか?

マイケル:

うん。あなたは使用することができますString::chars取得するにはIntStream[文字列にそれぞれint型をマッピングして収集し、単語から参加コレクター

.map(word -> word.chars()
                 .mapToObj(Integer::toString)
                 .collect(Collectors.joining("."))
)

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=188168&siteId=1