如何在Java与Kotlin中将字符串列表拼接为带编号的字符串
Java和Kotlin中给列表元素加编号并拼接的简便方法
当然可以不用手动循环,下面分别给出Java和Kotlin的简洁实现方式:
Java 实现
Java没法直接用 String.join() 完成编号拼接,但结合Stream API可以写出简洁的代码:
import java.util.List; import java.util.stream.Collectors; import java.util.stream.IntStream; public class Main { public static void main(String[] args) { List<String> languages = List.of("Java", "Kotlin", "Python"); String result = IntStream.range(0, languages.size()) .mapToObj(index -> (index + 1) + ". " + languages.get(index)) .collect(Collectors.joining("\n")); // 输出结果即为目标格式:"1. Java\n2. Kotlin\n3. Python" System.out.println(result); } }
通过IntStream生成元素索引,把索引+1作为编号和对应元素拼接,最后用Collectors.joining("\n")完成所有字符串的拼接,替代手动循环逻辑。
Kotlin 实现
Kotlin提供了更原生的便捷方法,用withIndex()配合joinToString()一行就能搞定:
fun main() { val languages = listOf("Java", "Kotlin", "Python") val result = languages.withIndex() .joinToString(separator = "\n") { "${it.index + 1}. ${it.value}" } // 输出目标格式的字符串 println(result) }
withIndex()会将列表元素包装成带索引的对象,joinToString()直接指定分隔符和转换规则,自动完成编号添加与字符串拼接。
内容的提问来源于stack exchange,提问作者AndroidDev
相关产品推荐
相关产品推荐

