java - 如何知道 Java 中 for-each 中的迭代值?
问题描述
我需要在屏幕上打印一些数据,这些数据存储在一个String
看起来像这样的数组中:
String[] names = {"Joe", "Jessica", "Javi", "James", "Kevin"};
我试图以这种方式执行它,使用 for-each 子句:
for (String i: names) {
System.out.print(name);
System.out.println(",");
}
其输出将是:
Joe,
Jessica,
Javi,
James,
Kevin,
但我想去掉最后一个逗号。在正常的 each 子句中,我将创建一个 if 子句来控制它:
for (int i=0; i<names.length; i++) {
System.out.print(name);
if(i!=names.length - 1) {
System.out.println(",");
}
}
我可以在 for-each 子句中做同样的事情吗?我如何控制迭代是否在最后一个数据部分?
解决方案
你可以使用这个:
var a = String.join(",\n", List.of("a", "b", "c"))
正如@RealSkeptik 建议的那样,它可以简化为:
var a = String.join(",\n", "a", "b", "c")
在这种情况下,我发现它比将String
s 转换为流更具可读性。
然后
System.out.println(a)
结果是:
a,
b,
c
推荐阅读
- typescript - 打字稿:键的映射与值的类型相同,但不限制键的类型
- python - 'import quandl' 产生'进程以退出代码 -1073741819 (0xC0000005) 完成'
- python - AttributeError:“NoneType”对象没有属性“print_Toy”
- node.js - Cloudinary node.js 上传进度
- android - 在获取 Android Fragment 中的 Parcable 对象列表时获取 NullPointerExecption
- r - 获取函数的源代码
- python - 打印单词从python中的特定字母开始?
- android - 带有 NestedScrollView 的 RecyclerView
- c# - 无法实现接口成员,因为它没有匹配的返回类型
- r - ggplot2 结合形状和填充的自定义图例