Java中字符串转为数组的方式
·
一、字符数组
String str = "Hello";
char[] charArray = str.toCharArray();
字符数组直接使用String内置的toCharArray(),即可轻松解决,但是有时候面试官并不想让你这么做,那该如何?其实也就是手写一下toCharArray()方法而已。
String str = "Hello";
char[] charArray = new char[str.length()]; // 创建字符数组,长度与字符串相同
for (int i = 0; i < str.length(); i++) {
charArray[i] = str.charAt(i); // 逐个获取字符并存储到字符数组中
}
完美解决。当然并不会有人用第二种。。。。。。。。
二、字符串数组
字符串转字符串数组,其实就是通过某个值或者某个位置进行分割,然后存入字符串数组中。
String str = "apple,banana,carrot";
String[] strArray = str.split(",");
三、整数数组
String str = "1 2 3 4 5";
String[] strArray = str.split(" ");
int[] intArray = new int[strArray.length];
for (int i = 0; i < strArray.length; i++) {
intArray[i] = Integer.parseInt(strArray[i]);
}
比较经典的一种,先将字符串变为字符串数组或者字符数组,再进行遍历,最后通过Integer.paseInt将字符转为数字即可。
那还有其他看起来就高大上的方法吗?在我学习java基础的路上,经常遇到高大上的方式就是和流挂钩,因为每次写流都能写一长串。那么一行代码能能搞定字符串向整数数组的转换吗?且看:
String s = "1 2 3 4 5";
int[] intArray = Arrays.stream(s.split(" ")).mapToInt(Integer::parseInt).toArray();
这段代码的作用是将字符串 s 按照空格进行分割,然后将分割后的每个子字符串转换为整数,并将这些整数存储在一个 int 类型的数组中。
s.split(" "):使用空格作为分隔符,将字符串s分割成多个子字符串,并返回一个字符串数组。Arrays.stream(...):将上一步得到的字符串数组转换为一个流(Stream)对象。mapToInt(Integer::parseInt):对流中的每个元素执行映射操作,将其转换为整数。这里使用了方法引用Integer::parseInt,将字符串转换为对应的整数值。toArray():将流中的元素收集到一个数组中。- 最后,将结果数组赋值给数组,它的类型是
int[],即整型数组
流的操作固然看起来花枝招展,但是很容易出错,而且也不容易记,所以还是多用一些正经操作最好。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)