Java 8如何不导入任何包将字符串转换为字符数组
Java 8 无额外依赖字符串转单字符String数组实现
核心限制说明
- 运行环境为Java 8
- 不引入任何第三方包
- 不添加任何额外import导入语句
- 基于给定代码框架补全循环逻辑,最终将输入字符串
hello处理为["h", "e", "l", "l", "o"]格式的String数组
补全后完整代码
// a为传入的目标字符串,示例入参值为"hello" int size = a.length(); String arrayA[] = new String[size]; for(int i = 0; i<size; i++){ arrayA[i] = String.valueOf(a.charAt(i)); }
逻辑说明
循环内仅需一行代码即可完成赋值,以下两种写法均符合限制要求,不需要额外导入任何类:
- 字符取值转换写法:即上方代码示例的写法,先通过
a.charAt(i)获取当前下标对应的char类型字符,再通过String.valueOf()将char转为String类型赋值给数组。String.valueOf属于java.lang包下的String类方法,Java环境默认加载java.lang包下的所有类,无需手动写导入语句。 - 字符串截取写法:也可以替换为
arrayA[i] = a.substring(i, i+1);,直接调用String自带的substring方法,截取下标i到i+1位置长度为1的子串直接赋值,效果完全一致。
注意:不要直接把
charAt返回的char类型值赋值给String数组,会触发类型不匹配的编译错误。
内容的提问来源于stack exchange,提问作者jgrewal
相关产品推荐
相关产品推荐

