for(String s : args)

for的循环语句for(String s : args)这个格式是foreach的形式,表示取出数组args[]中的每一个元素,就是循环一次zhi就依次取出一个元素赋到值给s,知道取完为止java中的foreach也是用for表示具体语法分两种:
第一种-数组for(type var : arr) {//循环体}示例(这里以List为例):List list = new ArrayList();for(String item : list){System.out.println(“循环元素:” + item);}
第二种-非数组类可迭代对象for(type var : coll) {//循环体}示例:Map<String, String> map = new HashMap<String, String>();for(Entry<String, String> item : map.entrySet()){System.out.println(“循环元素 key:” + item.getKey() + " value:" + item.getValue());}
其实本质上和for(int i=0;i<length;i++)没太大区别,但是for(String s : arr)中的arr一定是字符串数组,每次循环取一个字符串出来赋值给s,直到arr数组长度-1结束。

要在 `for-each` 循环中对每个字符串元素去掉空格并转换为 `Long` 类型,你需要依次执行两个步骤:首先去除字符串中的所有空格(或仅去除前导和尾随空格),然后再将处理过的字符串解析为长整数 (`long`) 或者封装类型的 `Long` 对象。下面是详细的说明及示例代码。 ### 去除空格 有几种方法可以从字符串中删除空格: - **全部空格**:使用 `.replaceAll("\\s+", "")` - **前后空格**:使用 `.trim()` 根据你的描述来看,似乎你更倾向于完全移除字符串内所有的空格,因此我们选择第一种方式。 ### 字符串到 Long 的转换 一旦去除了空格之后,可以利用 `Long.parseLong()` 方法直接从纯数字构成的字符串生成相应的 `long` 数值;或者用 `Long.valueOf()` 返回一个 `Long` 封装实例。后者更为推荐因为当输入为空串等情况时它可以返回 null 而不是抛出异常。 ### 完整示例代码 假设有一个名为 `collect` 的列表包含了一些带空格的字符串表示形式的数值,我们可以像这样编写循环来完成上述操作: ```java import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { List<String> collect = new ArrayList<>(); // 添加一些测试数据 collect.add(" 42 "); collect.add(" 78"); collect.add("100 "); List<Long> longValues = new ArrayList<>(); try { for (String s : collect) { // 去掉所有空格并将字符串转换成长整数 Long value = Long.valueOf(s.replaceAll("\\s+", "")); longValues.add(value); // 如果需要立即打印出来也可以这么做 System.out.println(value); } // 打印最终的结果集合 System.out.println(longValues.toString()); } catch (NumberFormatException e) { System.err.println("无法解析某些字符串为有效的 long 类型!"); } } } ``` 这段程序做了如下几件事情: 1. 创建了一个存放原生类型 `Long` 的新列表 `longValues`. 2. 在遍历给定集合的过程中,每读取一条记录就将其所有空格删掉。 3. 使用 `Long.valueOf()` 函数安全地尝试将清理后的文本内容解释为 `Long` 并加入结果集中。 4. 捕获潜在的 `NumberFormatException` 异常以防万一遇到非法格式的字符串。 如果不想捕获整个过程中的错误而是逐条验证的话,则可以在每次创建 `Long` 实例之前检查该字符串是否真的能被成功转换成有效数字,比如借助于正则表达式预先筛选符合条件的候选项再做进一步加工。 --- 注意,在实际应用环境中应当谨慎处理用户提供的未经检验的数据源,以防止因恶意构造而导致的安全隐患。此外还需要考虑性能因素——对于大规模批量作业应评估效率问题并寻找最优解法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值