Javaの - 楽しint型とバックに文字列(4文字)を変換

freedev:

なぜ尋ねる私は整数値(その4バイト)の文字列(最大4文字)を格納する必要はありませんしてください。

まず、私はこれを書いて、それが動作します:

String value = "AAA";
int sum = IntStream.range(0, value.length())
                   .limit(4)
                   .map(i -> value.charAt(i) << (i * 8))
                   .sum();

System.out.println(sum);

私は道のバックのための機能のソリューションを考えることができませんでした。

StringBuffer out = new StringBuffer();
while (sum > 0) {
    int ch = sum & 0xff;
    sum >>= 8;
    out.append((char) ch);
}

機能的な方法で(「AAA」へ)道の背中を書くための任意のアイデア?

Michel_T。

それはあなたにかなり似ていますが、多分参考になります

    String str = IntStream.iterate(sum, s -> s > 0, s -> s >> 8)
            .mapToObj(s -> String.valueOf((char)(s & 0xff)))
            .collect(Collectors.joining());

おすすめ

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