将整数转换为字符数组:java
Posted
技术标签:
【中文标题】将整数转换为字符数组:java【英文标题】:Convert an integer to an array of characters : java 【发布时间】:2012-08-24 22:35:13 【问题描述】:将整数转换为字符数组的最佳方法是什么?
输入:1234
输出:1,2,3,4
牢记 Java 语言的广泛性,最好和最有效的方法是什么?
【问题讨论】:
我正在寻找一种有效的方法。我可以考虑将每个数字取出 %10,将其转换为 char 并添加到数组中。最后反转数组。有更好的方法吗?? ***.com/a/19237615/912319 【参考方案1】:这会将 int 转换为 2 char 数组。如果您想获得最少数量的字符,请试试这个。
//convert int to char array
int valIn = 111112222;
ByteBuffer bb1 = ByteBuffer.allocate(4);
bb1.putInt(valIn);
char [] charArr = new char[4];
charArr[0] = bb1.getChar(0);
charArr[1] = bb1.getChar(2);
//convert char array to int
ByteBuffer bb2 = ByteBuffer.allocate(8);
bb2.putChar(0,charArr[0]);
bb2.putChar(2,charArr[1]);
long valOut = bb2.getInt(0);
【讨论】:
【参考方案2】:您可以将该整数转换为字符串,然后将该字符串转换为 char arary:-
int i = 1234;
String s = Integer.toString(i);
Char ch[] = s.toCharArray();
/*ch[0]=1,ch[1]=2,ch[2]=3,ch[3]=4*/
【讨论】:
【参考方案3】:假设您有一个整数数组和另一种将这些整数转换为字母的方法,例如将数字等级更改为字母等级的程序,您会这样做...
public char[] allGradesToLetters()
char[] array = new char[grades.length];
for(int i = 0; i < grades.length; i++)
array[i] = getLetter(grades[i]);
return array;
【讨论】:
【参考方案4】:我在谷歌面试中被问到这个问题。如果在面试中被问到使用模块和部门。这是答案
List<Integer> digits = new ArrayList<>();
//main logic using devide and module
for (; num != 0; num /= 10)
digits.add(num % 10);
//declare an array
int[] arr = new int[digits.size()];
//fill in the array
for(int i = 0; i < digits.size(); i++)
arr[i] = digits.get(i);
//reverse it.
ArrayUtils.reverse(arr);
【讨论】:
【参考方案5】:试试这个...
int value = 1234;
char [] chars = String.valueOf(value).toCharArray();
【讨论】:
【参考方案6】:你可以试试这样的:
String.valueOf(1234).toCharArray();
【讨论】:
酷.. 仍然不知道 Java 中的一半功能。感谢您的回答。【参考方案7】:int i = 1234;
char[] chars = ("" + i).toCharArray();
【讨论】:
啊哈...我一直在寻找这样的东西。 :) 嘿,您能否解释一下该解决方案的 (""+i) 部分是如何工作的,您只是说空字符串 + int = 该 int 的字符串。以上是关于将整数转换为字符数组:java的主要内容,如果未能解决你的问题,请参考以下文章
将数组/字符串列表转换为数组/整数列表的 Lambda 表达式
在Java 8中将整数数组转换为字符串数组的最简单方法[重复]