当前位置: 首页 > 知识库问答 >
问题:

将int数组转换为char数组

杨昆
2023-03-14

是否可以将 int 数组转换为 char 数组?如果是这样 - 如何

我目前正在做一个项目,我需要<code>创建一个包含<code>字母表的字符数组。我当前的code创建了一个int数组(应该将转换为字符数组-在一行中!):

< code >返回IntStream.range('a ',' z' 1)。to array();

共有3个答案

缑永年
2023-03-14

那我们就保持一行:

return IntStream.range('a', 'z' + 1).mapToObj(i -> Character.valueOf((char) i)).toArray(Character[]::new);

这将从IntStream转换为Stream

编辑:

修复了上面的行功能,有更好的解决方案,但我仍然试图再次找到它。它当前返回一个 Character[] 数组。

没有1行限制,只需重新制作数组就很简单,将a视为0索引

char[] back = new char[('z' + 1) - 'a'];
IntStream.range('a', 'z' + 1).forEach(i -> back[i - 'a'] = (char) i);
return back;

习高格
2023-03-14

从Java-11开始,您可以使用< code >。mapToObj(Character::toString)而不是< code >。mapToObj(c -

return IntStream.rangeClosed('a', 'z')
        .mapToObj(Character::toString)
        .collect(Collectors.joining())
        .toCharArray();
东典
2023-03-14

是的,我们缺少一个生成char数组的stream方法。也许是整个CharStream类。无论如何,不,您不能在int[]char[]之间进行转换。

与此同时,这条线越来越长,但它是有效的:

    return IntStream.rangeClosed('a', 'z')
            .mapToObj(c -> Character.toString((char) c))
            .collect(Collectors.joining())
            .toCharArray();

这给出了一个包含

[a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z]
 类似资料:
  • 问题内容: 我有一个Swift程序,可以与C库互操作。这个C库返回一个内部带有数组的结构,如下所示: 该定义已正确导入到Swift中。但是,该字段被解释为8个元素(类型为)的 元组 ,我不知道如何使用Swift 将其转换为a 。 没有可以接受元组的初始化程序,并且似乎不可能获得指向元组的第一个元素的指针(因为类型可以是异构的,这并不奇怪)。 现在,我最好的主意是创建一个微型C函数,该函数接受指向结

  • 现有两个名为getDetails(…)的方法 。一个需要至少一个必需参数,另一个需要一个集合(不验证集合的内容/大小)。 问题是集合有时会作为空传递,并且根据我的业务案例,我总是期望至少传递一个值。因此,我需要将该方法设为私有,它接受集合。 我计划将下面的方法作用域设置为private,这样调用者就不会使用零属性调用此方法。 调用方方法之一是将集合对象传递给下面的getDetails, id.ge

  • 问题内容: 我是Java编程的新手。我的问题是,我有一个数组,但是当我尝试将其转换为数组时,我不断 我的代码是 任何帮助将是极大的感谢!!! 问题答案: 要摆脱其他空格,您可以像这样更改代码:

  • 问题内容: 我的方法有问题。 在客户端,我想要一个数组而不是JSON 我怎样才能做到这一点? 客户代码: 我的方法返回,但我想从中提取数字,以便使用这些数字进行计算(例如作为)。 我公开了作为JSONObject的功能。 然后我得到错误:无法从JSONObject转换为int [] 2种其他方式 这次我得到:无法从JSONArray转换为int [] … 反正还是行不通.. 问题答案: 我从来没有

  • 问题内容: 我希望此代码显示: 问题答案: 在将导致的一个单列表。 如果更改为,它将按预期工作。不知道这是否对您有帮助。

  • 问题内容: 下面是一个代码片段, 但是我得到的是空输出。 我将得到1作为输出。 有人可以解释吗?如果我想像第一个代码片段一样将int转换为char,该怎么办? 问题答案: 会打印出ascii值为1的字符(首字符,这是不可打印的)。 将以ascii值49输出一个字符(一个对应于“ 1”) 如果要转换数字(0-9),则可以将数字加48并进行转换,例如;。 如果要转换 as asi的ascii值,可以使