java字符串--数组(相互转化)

本文详细介绍Java中字符串与数组之间的转换方法,包括char数组转字符串、String数组转字符串、字符串转char数组及String数组,以及字符串的逆序、去空格操作和整型与字符串的相互转换。

java 数组->字符串

  1.char数组(字符数组)->字符串

   可以通过:使用String.copyValueOf(charArray)函数实现。 

  举例: 

  char[] arr={'a','b','c'};

  String string =String.copyValueOf(arr);

  System.out.println(string);          //abc

 

  2、String数组->字符串

 

  String[] arr ={"0123","sb","12f"};

  StringBuffer sb = new StringBuffer();

 

  for(int i = 0;i<arr.length;i++){

  sb.append(arr[i]);        //append String并不拥有该方法,所以借助StringBuffer

  }

  String sb1 = sb.toString();

  System.out.println(sb1);    //0123sb12f

 

  3.java字符串->数组

 

  String str = "123abc";

  char[] ar = str.toCharArray();  //char数组

  for(int i =0;i<ar.length;i++){

  System.out.println(ar[i]);    //1 2 3 a b c

  }

 

  String[] arr = str.split("");

  for(int i =0;i<arr.length;i++){  //String数组,不过arr[0]为空

  System.out.println(arr[i]);    //空  1 2 3 a b c

  }

   4.相关转化

  ##字符串逆序

 

  String s="123abc";

  System.out.println(new StringBuilder(s).reverse().toString());

 

  字符串去空格

 

  1. String.trim()   trim()是去掉首尾空格 

 

  2.str.replace(" ", "");   去掉所有空格,包括首尾、中间 

 

  复制代码 代码如下:String str = " hell o "; 
  String str2 = str.replaceAll(" ", ""); 
  System.out.println(str2); 


  3.或者replaceAll(" +","");   去掉所有空格 


  4.str = .replaceAll("\\s*", ""); replaceAll( "\n" ,"")为清除换行等 


  替换大部分空白字符, 不限于空格   可去掉 
  \s 可以匹配空格、制表符、换页符等空白字符的其中任意一个 

  常用字符:空格(‘ ’) 、换页 (‘\f’) 、换 行(‘\n’)、回车(‘\r’)、水平 制表符 (‘\t’)、垂直 制表符 (‘\v’)

 

整形与字符串相互转化

String - 》Int 
1). int i = Integer.parseInt([String]); 或
i = Integer.parseInt([String],[int radix]);

2). int i = Integer.valueOf(my_str).intValue();

Int  - 》 String
1.) String s = String.valueOf(i);

2.) String s = Integer.toString(i);

3.) String s = "" + i;


   例:
  int a = 33;
		   
		   String a1 = String.valueOf(a);      //33
		   String a2 = Integer.toString(a);    //33
		   String a3 = a1 +"";				   //33

		   System.out.println(a1);
		   System.out.println(a2);
		   System.out.println(a3);
		   
		  String b = "101";
		  String bb = "123";

		   int b1 = Integer.parseInt(b+bb);				//101123	
		   int b2_1 = Integer.parseInt(bb, 10);  		//123
		   int b2_2 = Integer.parseInt(b, 2); 			//解析几进制 的字符串  5
		   int b3 =  Integer.valueOf(b+bb).intValue();  //101123
		   System.out.println(b3);

Java中,字符串(`String`)和字符串数组(`String[]`)之间的转换是常见的操作,通常涉及字符串的拆分、连接以及数组的遍历等操作。 ### 将字符串转换为字符串数组 可以使用 `String` 类的 `split()` 方法将字符串按照指定的分隔符拆分为字符串数组。例如,将一个逗号分隔的字符串转换为数组: ```java String str = "apple,banana,orange"; String[] array = str.split(","); ``` 该方法适用于解析CSV格式的数据、URL参数等场景。分隔符可以是任意正则表达式,因此如果需要按照特殊字符拆分,应进行转义处理[^2]。 ### 将字符串数组转换为字符串 可以使用 `String.join()` 方法将字符串数组的元素连接为一个字符串。该方法接受两个参数:第一个是分隔符,第二个是要连接的字符串数组或 `Collection`: ```java String[] array = {"apple", "banana", "orange"}; String str = String.join(",", array); ``` 此方法在生成日志信息、拼接SQL语句等场景中非常实用。如果使用的是 Java 8 及以上版本,`String.join()` 是推荐的方式;在更早版本中,可以使用 `Arrays.toString()` 并去除首尾的方括号,或手动拼接字符串。 ### 使用 `List<String>` 与数组互转 Java中可以通过 `Arrays.asList()` 方法将字符串数组转换为 `List<String>`,然后再进行其他集合操作;同样地,也可以通过 `List.toArray()` 方法将 `List<String>` 转换回字符串数组: ```java import java.util.Arrays; import java.util.List; String[] array = {"apple", "banana", "orange"}; List<String> list = Arrays.asList(array); String[] newArray = list.toArray(new String[0]); ``` 这种方式适用于需要在集合与数组之间灵活转换的场景,例如与某些仅接受 `List` 参数的API交互时。 ### 处理编码问题 在涉及字节与字符串转换时,必须始终明确指定编码方式,推荐使用 UTF-8 编码。例如,在将字节数组转换为字符串时,应避免使用无参数的构造方法,而应显式指定编码: ```java byte[] bytes = "Hello World".getBytes(StandardCharsets.UTF_8); String str = new String(bytes, StandardCharsets.UTF_8); ``` 同样地,在将字符串转换为字节数组时,也应指定编码方式: ```java byte[] bytes = str.getBytes(StandardCharsets.UTF_8); ``` 这样可以避免因平台默认编码不同而导致的乱码问题[^2]。 ### 示例代码 以下是一个完整的示例,展示了字符串字符串数组之间的转换: ```java import java.util.Arrays; import java.util.List; public class StringArrayConversion { public static void main(String[] args) { // String to String[] String str = "apple,banana,orange"; String[] array = str.split(","); System.out.println("String to String[]: " + Arrays.toString(array)); // String[] to String String[] array2 = {"apple", "banana", "orange"}; String str2 = String.join(",", array2); System.out.println("String[] to String: " + str2); // String[] to List<String> List<String> list = Arrays.asList(array2); System.out.println("String[] to List<String>: " + list); // List<String> to String[] String[] array3 = list.toArray(new String[0]); System.out.println("List<String> to String[]: " + Arrays.toString(array3)); } } ``` 上述代码展示了如何在Java中进行字符串字符串数组之间的转换,并结合了集合操作,适用于多种实际应用场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值