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 类型的数组中。

  1. s.split(" ")使用空格作为分隔符,将字符串 s 分割成多个子字符串,并返回一个字符串数组。
  2. Arrays.stream(...)将上一步得到的字符串数组转换为一个流(Stream)对象。
  3. mapToInt(Integer::parseInt)对流中的每个元素执行映射操作,将其转换为整数。这里使用了方法引用 Integer::parseInt,将字符串转换为对应的整数值。
  4. toArray()将流中的元素收集到一个数组中。
  5. 最后,将结果数组赋值给数组,它的类型是 int[],即整型数组

流的操作固然看起来花枝招展,但是很容易出错,而且也不容易记,所以还是多用一些正经操作最好。

  • 5
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值