【问题标题】:Java Stream converting char to ascii [duplicate]Java Stream将char转换为ascii [重复]
【发布时间】:2020-12-04 00:39:32
【问题描述】:

所以我想要做的就是打印出字符而不是 ascii 值...

     str.chars()
        .distinct()
        .forEach(System.out::println);

这是输出:

     97
     98
     99
     100

有人知道如何解决这个问题吗?

【问题讨论】:

    标签: java stream


    【解决方案1】:

    您可以使用 mapToObj 方法相应地映射字符

    str.chars().mapToObj(c -> (char)c).forEach(System.out::println);
    
    

    【讨论】:

      【解决方案2】:

      您可以通过将int 转换为char 来做到这一点,如下所示

      str.chars()
              .distinct()
              .forEach(x -> System.out.println((char)x));
      

      【讨论】:

      • 谢谢!我可以使用 forEach 转换回 char 并保存在数组中吗?
      • 是的,你绝对可以做到。与其打印它,不如将它添加到 char[]。像 char[] cArray = new char[]。然后 cArray[index] = (char)x
      猜你喜欢
      • 1970-01-01
      • 2014-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-30
      • 1970-01-01
      • 2017-04-02
      • 2011-07-27
      相关资源
      最近更新 更多