Java数组和字符串的相互转换
字符串转换为数组
1)Java String 类中的 toCharArray() 方法将字符串转换为字符数组,具体代码如下所示。
String str = "123abc";
char[] arr = str.toCharArray(); // char数组
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]); // 输出1 2 3 a b c
}
2)Java.lang 包中有 String.split() 方法,Java 中通常用 split() 分割字符串,返回的是一个数组。
String str = "123abc";
String[] arr = str.split("");
for (int i = 0; i < arr.length; i++) { // String数组
System.out.print(arr[i]); // 输出 1 2 3 a b c
}
使用 split() 方法注意如下:
如果用“.”或“|”作为分隔的话,必须是如下写法,String.split("\.") 或 String.split("\|"),这样才能正确的分隔开,不能用 String.split(".") 或 String.split("|")。
如果在一个字符串中有多个分隔符,可以用“|”作为连字符,如“acount=? and uu =? or n=?”,把三个都分隔出来,可以用 String.split(“and|or”);
如果想在串中使用“”字符,则也需要转义。首先要表达“aaaa\bbbb”这个串就应该用"aaaa\bbbb”,这样分隔才能得到正确结果。
3)如果要返回 byte 数组就直接使用 getBytes 方法就可以了。
String str = "123abc" ;
byte [] arr = str.getBytes();
4)使用 StringUtils 中的 join 函数,使用前需先引入 common-lang3 的 jar 包,可去 apache 官网下载,代码如下所示。
StringUtils.join(null) = null;
StringUtils.join([]) = "";
StringUtils.join([null])= "";
StringUtils.join(["a", "b", "c"]) = "abc";
StringUtils.join([null, "", "a"]) = "a";
String[] str = { "1", "2", "a", "b" };
// 将数组变成字符串
StringUtils.join(str);
// 将数组用逗号分隔变成字符串
StringUtils.join(str, ",");
数组转换为字符串
1)char 字符数组转化为字符串,使用 String.copyValueOf(charArray) 函数实现,具体代码如下所示。
char[] arr = { 'a', 'b', 'c' };
String string = String.copyValueOf(arr);
System.out.println(string); // 输出abc
2)String 字符串数组转化为字符串,代码如下所示。
String[] arr = { "123", "abc" };
StringBuffer sb = new StringBuffer();
for (int i = 0; i < arr.length; i++) {
sb.append(arr[i]); // String并不拥有append方法,所以借助 StringBuffer
}
String sb1 = sb.toString();
System.out.println(sb1); // 输出123abc
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PPT革命!DeepSeek+Kimi=N小时工作5分钟完成?
· What?废柴, 还在本地部署DeepSeek吗?Are you kidding?
· DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地
· 程序员转型AI:行业分析
· 重磅发布!DeepSeek 微调秘籍揭秘,一键解锁升级版全家桶,AI 玩家必备神器!