固定分隔符字符串与数组互转及ArrayList与数组(Array)互转

本文介绍了几种实用的字符串与数组互相转换的方法,包括使用string.split将字符串转换为数组、利用String.Join将数组转换为固定分隔符字符串、通过ArrayList.ToArray实现ArrayList到string[]的转换及反之。

从前自己较懒,在处理字符串与数组互转时,并没有去寻求是否有现成方法,就立即自己写方法。最近变勤快了,特把相关方法贴出如下:

1.字符串转数组

这个相信多数人都会常用,string.split方法,分隔符可以为多个。详细信息参见MSDN

string[] actionCfgs = _para.Split(new char[]{cm_defaultSeparator});

 

2.字符串数组转固定分隔符字符串

 这个就不知道有多少人经常使用了。String.Join 详见MSDN

string[] tempS= new string[]{"a","b","c"};

Console.WriteLine(String.Join( "." ,tempS););

结果:

a.b.c

 

3.ArrayList转string[](其实所有的数组都成,因为所有的数组均继承自Array),ArrayList.ToArray 详见MSDN

(string[])fldList.ToArray(typeof(string));

转换后类型可以变化。

 

4.string[]转ArrayList

ArrayList.Adapter查看MSDN后我们发现它的参数为接口ILIST,Array实现了ILIST所以任何数组都可以转成ArrayList.

string[] actionCfgs = _para.Split(new char[]{cm_defaultSeparator});

ArrayList tarArrayList = ArrayList.Adapter(actionCfgs);

 

### Java 中将字符串换为字符串数组的方法 在 Java 中,可以通过多种方式实现将字符串换为字符串数组的功能。以下是几种常见的方法: #### 使用 `String.split()` 方法 `String.split()` 是标准库中用于分割字符串的一个常用方法。它可以根据指定的正则表达式来拆分字符串并返回一个字符串数组。 ```java public class Main { public static void main(String[] args) { String str = "1,2,3"; String[] array = str.split(","); for (String s : array) { System.out.println(s); } } } ``` 这种方法简单高效,适用于大多数场景[^1]。 --- #### 使用 Apache Commons Lang 的 `StringUtils.split()` 方法 如果项目中已经引入了 Apache Commons Lang 库,则可以使用其提供的 `StringUtils.split()` 方法。该方法同样支持按照指定字符或模式拆分字符串,并且对于某些复杂情况可能更加灵活。 ```java import org.apache.commons.lang3.StringUtils; public class Main { public static void main(String[] args) { String str = "1,2,3"; String[] array = StringUtils.split(str, ','); for (String s : array) { System.out.println(s); } } } ``` 此方法的优点在于能够处理一些特殊情况下的边界条件。 --- #### 使用 Java 8 的 `String.join()` 反向操作 虽然题目要求的是从字符串数组的操作,但如果需要验证反向过程(即从数组拼接回字符串),可以利用 Java 8 引入的 `String.join()` 方法完成这一功能。这有助于理解两者之间的关系。 ```java import java.util.StringJoiner; public class Main { public static void main(String[] args) { String[] array = {"1", "2", "3"}; String result = String.join(",", array); // 将数组重新组合成字符串 System.out.println(result); } } ``` 这里需要注意的是,`String.join()` 实际上是对多个子串进行连接而非直接作用于单个字符串对象[^2]。 --- #### ArrayList<String> 到 String[] 当面对集合类数据结构时,比如 `ArrayList<String>` 类型的数据源,也可以很方便地将其化为普通的字符串数组形式。 ```java import java.util.ArrayList; import java.util.Arrays; public class Main { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); list.add("a"); list.add("b"); list.add("c"); String[] array = list.toArray(new String[0]); // 推荐的方式 System.out.println(Arrays.toString(array)); } } ``` 这种方式不仅限定了目标类型的长度初始化策略更为合理,而且兼容性强[^5]。 --- #### Spark DataFrame 场景下特殊需求 针对大数据框架如 Apache Spark,在处理表列字段类型为 `array<string>` 形式的记录时,有时也需要执行类似的化逻辑以便后续分析计算或者展示输出之用。此时可通过内置函数实现相应目的。 ```sql SELECT concat_ws(',', my_array_column) AS joined_string FROM my_table; ``` 其中 `concat_ws` 函数允许自定义分隔符并将整个列表压缩成单一连续文本表示[^4]。 --- ### 总结 以上介绍了四种主要途径帮助开发者解决关于如何把原始输入值映射至离散单元格组的问题——无论是基础语法层面还是高级API调用均有所涉猎。具体选用哪一种取决于实际应用场景以及个人偏好等因素影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值