在Java中,String、List 和数组(如 String[])之间的转换是常见的操作。下面是如何在它们之间进行转换的示例。
1. String 转 List
通常,你不会直接将一个完整的String转换为List,但你可以将包含多个元素的字符串(如由逗号分隔的字符串)分割成多个部分,并将这些部分添加到List中。
            
            
              java
              
              
            
          
          String str = "a,b,c,d";
List<String> list = Arrays.asList(str.split(","));
// 注意:Arrays.asList 返回的列表是固定大小的,如果需要可变列表,请使用 ArrayList
List<String> mutableList = new ArrayList<>(Arrays.asList(str.split(",")));2. List 转 String
你可以使用StringBuilder或String.join方法将List中的元素连接成一个字符串。
            
            
              java
              
              
            
          
          List<String> list = Arrays.asList("a", "b", "c", "d");
String str = String.join(",", list); // 输出 "a,b,c,d"或者使用StringBuilder:
            
            
              java
              
              
            
          
          StringBuilder sb = new StringBuilder();
for (String s : list) {
    if (sb.length() > 0) {
        sb.append(",");
    }
    sb.append(s);
}
String str = sb.toString(); // 输出 "a,b,c,d"3. List 转数组
你可以使用List的toArray方法将List转换为数组。
            
            
              java
              
              
            
          
          List<String> list = Arrays.asList("a", "b", "c", "d");
String[] array = list.toArray(new String[0]); // 或者使用 list.toArray(new String[list.size()]);注意:如果你知道列表的大小,传递一个正确大小的数组给toArray可以提高性能,因为它可以避免额外的数组复制操作。
4. 数组 转 List
你可以使用Arrays.asList方法将数组转换为List。但请注意,返回的列表是固定大小的,如果你需要可变列表,应该将其转换为ArrayList。
            
            
              java
              
              
            
          
          String[] array = {"a", "b", "c", "d"};
List<String> list = Arrays.asList(array); // 固定大小的列表
List<String> mutableList = new ArrayList<>(Arrays.asList(array)); // 可变列表注意事项
- 当使用Arrays.asList返回的列表时,请注意它返回的列表是固定大小的,不支持add或remove操作(会抛出UnsupportedOperationException)。